HttpWebRequest not sending UserAgent



我是查看.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,只显示主机和连接:保持活动状态。

CONNECT skyid.sky.com:443 HTTP/1.1
Host: skyid.sky.com
Connection: Keep-Alive

这在HTTPS中是正常的还是我只是错过了什么?也许我什至在《小提琴手》中错过了一些东西,它没有向我展示这一点。

任何帮助将不胜感激,谢谢大家!

我不认为你在看正确的提琴手线。您显示的是CONNECT动词,而不是GET.应使用 request.UserAgent 属性正确设置UserAgent。调试请求的另一种方法是在应用程序级别配置网络跟踪,与 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>

最新更新