3 Stimmen

Es ist nicht möglich, eine Postanforderung aus einer .Net-Anwendung zu senden. Mit Chrome RESTClient funktioniert das problemlos.

Warum kann ich keine POST-Anfrage mit dem folgenden Befehl und einem ähnlichen Code senden? Wenn ich dieselbe Anfrage mit dem RESTClient des Mozilla-Browsers sende, funktioniert das problemlos. Dies gilt nur für den Simulator eines Servers, der im LAN bzw. sogar auf meinem lokalen Rechner eingesetzt wird. Mit dem Live-Server funktioniert es einwandfrei.

ASCIIEncoding encoding = new ASCIIEncoding();
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.220.12:5000"); // this is my system's local ip
byte[] byteArray = encoding.GetBytes("hello");
request.Method = "POST";
request.ContentType = "text/xml";// i tried it with "application/x-www-form-urlencoded" as well
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Flush();
dataStream.Close();
WebResponse response = request.GetResponse();
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
Console.WriteLine(responseFromServer);
Console.ReadKey();
reader.Close();
dataStream.Close();
response.Close();

Beim Testen auf dem Server habe ich gesehen, dass es eine Nachricht für den erfolgreichen Empfang der Anfrage gibt, aber sie zeigt nicht die Daten, die vom obigen Code empfangen wurden, während sie die Daten vom RESTclient zeigt.

Was könnte der mögliche Grund sein? Gibt es eine Firewall, die es nicht erlaubt, Postdaten von der .net-Bibliothek an den Simulator zu senden?

Dies ist die gleiche Antwort für unformatierte xml, ich sehe nichts falsch mit der xml (gleiche Kopie von dem, was ich durch RESTclient senden).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X