Как отослать на сервер данные формы и получить ответ? - C#

Узнай цену своей работы

Формулировка задачи:

Пытаюсь отослать на сервер данные и получить ответ:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(full_uri);//full_uri - адрес сервера
Stream stream = req.GetRequestStream();//вот тут вылетает ошибка - какая именно читайте ниже
stream.Write(bData, 0, bData.Length);//я так думаю что здесь идет отправка массива байтов запроса на сервер.(заголовки начиная от хоста и заканчивая телом сообщения - то что отделено пустой строкой от заголовков, как правило инфа о заполнении всяких форм, логин-пароль,т.д.)
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
StreamReader sr = new StreamReader(resp.GetResponseStream());
string outHtml = sr.ReadToEnd();
Ошибка: "Протокольная ошибка: невозможно отправить тело содержимого с данным типом предиката". Что тут не так? Как исправить эту протокольную ошибку? Может что не так с запросом который я поместил в переменную bData? Вот он на всякий случай: POST /site/login HTTP/1.1 Host: aaa.com //aaa.com ведет на 127.0.0.1 и оттуда перехватывается моей программой. Connection: keep-alive Content-Length: 100 Cache-Control: max-age=0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Origin: http://aaa.com Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Content-Type: application/x-www-form-urlencoded Referer: http://aaa.com/ Accept-Encoding: gzip, deflate Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4 Cookie: _ym_uid=1449827820489694909; _ym_isad=0; __utma=99944078.1930164242.1449841048.1449841048.1449841048.1; __utmb=99944078.10.10.1449841048; __utmc=99944078; __utmz=99944078.1449841048.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); sid=234; stid=5908; aid=; src=; plf=; rtid=; ref=; ip=91.239.150.10; s2lid=3208161; _ym_visorc_30189824=w LoginForm%5Busername%5D=sdobrovol%40mail.ru&LoginForm%5Bpassword%5D=qweqwe&LoginForm%5Bremember%5D=0

Решение задачи: «Как отослать на сервер данные формы и получить ответ?»

textual
Листинг программы
req.Metod = "POST";

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5
Похожие ответы