我是新来看待.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