我是新來看待.net的整個Web端,我遇到了一個小問題。HttpWebRequest不發送UserAgent
我試圖做的HttpWebRequest如下:
String uri = "https://skyid.sky.com/signup/";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
request.UserAgent = "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)";
request.Method = "GET";
request.GetResponse();
凡URI是指向HTTPS站點。但是,一旦我在Fiddler中查看它,它已經刪除了我的UserAgent,並且只顯示了Host和Connection:Keep-Alive。
CONNECT skyid.sky.com:443 HTTP/1.1
Host: skyid.sky.com
Connection: Keep-Alive
這是正常使用HTTPS或者我只是失去了一些東西?也許我甚至錯過了Fiddler的一些東西,它並沒有向我展示這些。
任何幫助將不勝感激,謝謝大家!
如果我運行這個(與'當然uri'的值),我看到的用戶代理中與HTTP和HTTPS提琴手。你大概已經在這裏爲你的例子剪掉了一些東西,因爲發佈空的內容並不常見。您可以在設置該標題後刪除標題集合中重寫的內容嗎? – 2012-08-14 16:11:39
@JonHanna,對不起,我實際上正在做一個GET,我已經在上面的代碼中改變了它,並添加了更多的細節。所以我猜測它的Fiddler,如果你能看到UserAgent。 – Richard 2012-08-14 16:26:43
您正在通過HTTPS(443)進行連接,因此您在此處看到的只是CONNECT HTTP動詞(用於啓動HTTPS連接)。請求的實際GET將在發送到服務器時進行加密。爲了在Fiddler中看到它,有一個高級選項可以幫助您解密加密的連接以查看實際的請求。 – 2012-08-14 16:46:13