Прочтите HTTP-запрос POST HttpWebRequest.C#

Место общения программистов C#
Anonymous
Прочтите HTTP-запрос POST HttpWebRequest.

Сообщение Anonymous »

Мне нужно создать Http-запросы POST и, возможно, несколько запросов GET в виде строк для некоторых тестов, которые я пишу. В настоящее время мои тесты создают их с использованием StringBuilder и жестко запрограммированных запросов POST, извлеченных из скрипача, примерно так:

Код: Выделить всё

var builder = new StringBuilder();
builder.Append("POST https://some.web.pg HTTP/1.1\r\n");
builder.Append("Content-Type: application/x-www-form-urlencoded\r\n");
builder.Append("Referer: https://some.referer.com\r\n");
builder.Append("Accept-Language: en-us\r\n");
builder.Append("Accept-Encoding: gzip, deflate\r\n");
builder.Append("User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)\r\n");
builder.Append("Host: login.yahoo.com\r\n");
//    ... other header info
builder.Append("\r\n");
builder.Append("post body......\r\n");
var postData = builder.ToString();
Это быстро делает мои тесты беспорядочными, и я бы предпочел иметь более простой способ построения этих POST-запросов. Я изучал класс HttpWebRequest, надеясь, что, возможно, он сможет создать их для меня. Я подумал, что за смыслами должен быть какой-то способ сконструировать именно тот запрос, который я пытаюсь создать в той или иной форме. Но, увы, GetRequestStream — это поток, доступный только для записи.

Есть ли способ прочитать поток запросов, который сгенерирует HttpWebRequest (а затем изменить его на строку)? Или даже любые идеи о том, как генерировать эти POST-запросы.

Вернуться в «C#»