私が書いているいくつかのテストの文字列として、HttpPOSTリクエストとおそらくいくつかの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リクエストを生成する方法についてのアイデアでさえも可能です。