Я использую метод HttpWebRequest в .Net Micro Framework. Я пытаюсь отправить данные на другой сервер, используя метод ниже. Я получаю следующее:Как правильно отправить данные с помощью HttpWebRequest в C#
Исключение:
"System.Net.ProtocolViolationException: HTTP метод неверен: GET" ошибка.
StackTrace:
System.Net.HttpWebRequest :: ValidateGetRequestStream System.Net.HttpWebRequest :: GetRequestStream
Говорит ли это исключение, что я делаю GET, когда я должен быть размещая пост? Если это так, у меня есть request.Method = "POST", так что будет заставлять его использовать GET?
HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(@"http://192.168.2.1:3322/home/PostEvent");
Stream dataStream = webReq.GetRequestStream();
UTF8Encoding enc = new UTF8Encoding();
byte[] data = UTF8Encoding.UTF8.GetBytes(strMachineEvt.ToString());
dataStream.Write(data, 0, data.Length);
dataStream.Close();
webReq.Method = "POST";
webReq.ContentType = "application/json";
webReq.ContentLength = data.Length;
WebResponse response = webReq.GetResponse();
//HttpWebResponse resp = (HttpWebResponse)webReq.GetResponse();
Debug.Print(((HttpWebResponse)response).StatusDescription);
Stream respData = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
// Display the content.
Debug.Print(responseFromServer);
// Clean up the streams.
reader.Close();
dataStream.Close();
response.Close();
_» не стесняйтесь использовать "_ заставляет это звучать так, как будто вы написали этот код и хотите поделиться им. SO не является веб-сайтом обмена фрагментами; это решение конкретных проблем. Проблема здесь в том, что у OP есть кусок кода, который работает на 99%, единственное изменение, необходимое для его работы, - это сделать то, что я упомянул в своем ответе. – CodeCaster