2016-05-11 16 views
0

Ich habe die Top-Antwort von HTTP request with post jedoch ein Fehler erscheint im Visual Studio 404 Remote-Server nicht gefunden.HTTP-Anfrage mit Post 404 nicht gefunden

Die Website existiert, es ist eine Rails App gebunden an die IP-Adresse meines Routers. Mithilfe der folgenden URL im Browser wird das Attribut der Antragstellerinstanz in der App "Schienen" aktualisiert. Die Verwendung der C# -App, um dies zu tun, funktioniert jedoch nicht.

http://<ADDRESS HERE>:3000/api/v1/applicants/update?id=2&door=true 

Ich habe die ff:

using System.IO; 
using System.Net; 
using System.Text; 

habe ich den folgenden Code in einem BTN Klick

private void button1_Click (object sender, EventArgs e){ 
    var request = (HttpWebRequest)WebRequest.Create("http://<ADDRESS HERE>:3000/api/v1/applicants/update"); 

    var postData = "id=2"; 
     postData += "&door=true"; 
    var data = Encoding.ASCII.GetBytes(postData); 

    request.Method = "POST"; 
    request.ContentType = "application/x-www-form-urlencoded"; 
    request.ContentLength = data.Length; 

    using (var stream = request.GetRequestStream()) 
    { 
     stream.Write(data, 0, data.Length); 
    } 

    var response = (HttpWebResponse)request.GetResponse(); 

    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd(); 
} 
+0

können Sie versuchen, mit Postman. Stellen Sie sicher, dass Sie eine gute Anfrage-Methode verwenden und überprüfen Sie Ihre Parameter. Natürlich zuerst testen ob deine Adresse überhaupt erreichbar ist :) – hellwd

Antwort

1

Sind Sie sicher, dass Sie eine POST Anfrage ausführen müssen und keine GET Anfrage ? Ich frage, weil Ihre Frage inkonsistent zu sein scheint. Zuerst sagen, Sie auf die URL bekommen

http://<ADDRESS HERE>:3000/api/v1/applicants/update?id=2&door=true 

, die eine URL mit Abfragezeichenfolgeflag params ist, aber im Code trennen Sie die Abfragezeichenfolgeflag und die params als POST Daten senden.

Die GET Anfrage würde in etwa so aussehen

GET http://<ADDRESS HERE>:3000/api/v1/applicants/update?id=2&door=true HTTP/1.1 
Host: <ADDRESS HERE> 
... (more headers) 

Und die POST-Anfrage:

POST http://<ADDRESS HERE>:3000/api/v1/applicants/update HTTP/1.1 
Host: <ADDRESS HERE> 
Content-type: application/x-www-form-urlencoded 
... (more headers) 

id=2&door=true 
+0

mit get funktioniert! – Acrux