これが少し薄暗い場合はお詫びしますが、このようなものをsslstreamを介して、安全なソケット接続を取得したサーバーに送信したいと思います...
GET /F5Check/qpi/1 HTTP/1.1
Host: *****.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
文字列ビルダーを使ってみました
var sb = new StringBuilder();
sb.AppendLine("GET /F5Check/qpi/1 HTTP/1.1");
sb.AppendLine(string.Format("Host: {0}", host));
sb.AppendLine("Connection: keep-alive");
sb.AppendLine("User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5");
sb.AppendLine("Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
sb.AppendLine("Accept-Encoding: gzip,deflate,sdch");
sb.AppendLine("Accept-Language: en-US,en;q=0.8");
sb.AppendLine("Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3");
そしてこれを行う
//Translate the data.
byte[] sendBuffer = UTF8Encoding.UTF8.GetBytes(sb.ToString());
//Send the data.
requestStream.Write(sendBuffer);
ここで、sbはstringbuilderオブジェクトです。
ストリームから読み取ろうとしてもサーバーから応答がないので、サーバーが私のばかげた要求を理解できないことは明らかです。
webrequestのバリエーションを使用して同じことを実行できることは知っていますが、これを実行しようとしている特定の理由があります...
基本的に、getリクエストを実行できるように、送信用に何をエンコードするかを知る必要がありますか?