Как отослать на сервер данные формы и получить ответ? - C#
Формулировка задачи:
Пытаюсь отослать на сервер данные и получить ответ:
Ошибка: "Протокольная ошибка: невозможно отправить тело содержимого с данным типом предиката". Что тут не так? Как исправить эту протокольную ошибку? Может что не так с запросом который я поместил в переменную 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
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();
Решение задачи: «Как отослать на сервер данные формы и получить ответ?»
textual
Листинг программы
req.Metod = "POST";
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д