Мне нужно создать запросы Http POST и, возможно, несколько запросов GET как строки для некоторых тестов, которые я пишу. В настоящее время, мои тесты построить их с помощью StringBuilder и жестко закодированные запросы POST вытащили из стельки вроде как это:Прочитайте запрос HTTP POST для HttpWebRequest
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, будут делать.