我道歉,如果這是一個有點暗淡,但我想給這樣的事情在一個sslstream到服務器,我已經獲得了安全套接字連接到...構建GET請求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是串嘗試建設者對象!
當我試圖從流中讀取數據時,服務器無法理解我的愚蠢請求,我根本沒有收到服務器的任何響應!
我知道我可以使用的WebRequest的變化做同樣的事情,但爲什麼我要做這個特殊的理由......
基本上我需要知道如何發送,這樣我編碼可以產生獲取請求嗎?
HttpWebRequest有什麼問題? (除了你可以使用WebClient或HttpClient) – dtb
實現HTTP並不是小菜一碟。你需要閱讀規範來發送正確的零碎。看看這裏:http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging http://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics http:///tools.ietf.org/html/draft-ietf-httpbis-p3-payload – dtb
我知道這不是一塊蛋糕......如果是這樣,我不會在這裏問它;-) –