.NET 4.x Post запроса - C#
Формулировка задачи:
Добрый день. Столкнулся с проблемой при post запросе.
Есть такой код, который должен делать запрос:
Компилятор выдает ошибку:
Необработанное исключение типа "System.Net.WebException" в System.dll
Дополнительные сведения: Удаленный сервер возвратил ошибку: (400) Недопустимый запрос.
Если выполнять запрос таким способом, то всё работает:
Что я не так делаю?
string url = "https://site.com/web/1234567/login"; string data = "access_token=" + token; http_post(url, data);
//Функция post запроса public string http_post(string url, string data) { WebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; byte[] byteArray = Encoding.UTF8.GetBytes(data); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); WebResponse response = request.GetResponse(); dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); var result = reader.ReadToEnd(); return result; }
http_post();
//Функция post запроса public void http_post() { WebRequest request = (HttpWebRequest)WebRequest.Create("https://site.com/web/1234567/login"); request.Method = "POST"; byte[] byteArray = Encoding.UTF8.GetBytes("access_token=1234567890asd"); request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = byteArray.Length; Stream dataStream = request.GetRequestStream(); dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); WebResponse response = request.GetResponse(); dataStream = response.GetResponseStream(); StreamReader reader = new StreamReader(dataStream); var result = reader.ReadToEnd(); }
Решение задачи: «.NET 4.x Post запроса»
textual
Листинг программы
WebResponse response = request.GetResponse();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д