我很擅长查看.net的整个Web端,我遇到了一个小问题。
我正在尝试按如下方式执行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的一些东西,它没有向我展示这一点。
任何帮助将不胜感激,谢谢大家!
答案 0 :(得分:7)
我认为你没有看到正确的Fiddler系列。您显示的是CONNECT
动词,而不是GET
。应使用UserAgent
属性正确设置request.UserAgent
。调试请求的另一种方法是在您的应用程序级别configure network tracing,我个人比较喜欢Fiddler:
<configuration>
<system.diagnostics>
<sources>
<source name="System.Net" tracemode="protocolonly" maxdatasize="1024">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<switches>
<add name="System.Net" value="Verbose"/>
</switches>
<sharedListeners>
<add
name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="network.log"
/>
</sharedListeners>
<trace autoflush="true"/>
</system.diagnostics>
</configuration>