Fun*_*ung 39 .net httpwebrequest fiddler httpwebresponse
有什么方法可以将Fiddler捕获到使用.NET HttpWebRequest和HttpWebResponse捕获请求和响应吗?
Cra*_*gTP 40
Fiddler FAQ给出了答案.
您实际上通过Fiddler路由您的HTTP流量(即使用Fiddler作为代理).
以下是一些有用的链接:
Fiddler Web调试 - 配置客户端
反过来链接到这里:
使用.NET中的自动配置来减轻用户的负担
您可以通过web.config文件(对于ASP.NET应用程序)中的某些配置设置来实现此目的,如下所示:
<system.net>
<defaultProxy>
<proxy
proxyaddress="http://[your proxy address and port number]"
bypassonlocal="false"
/>
</defaultProxy>
</system.net>
Run Code Online (Sandbox Code Playgroud)
有关设置的完整详细信息,请参见此处<defaultProxy>
或者,您可以使用以下内容在代码中使用WebProxy对象:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("[ultimate destination of your request]");
WebProxy myproxy = new WebProxy("[your proxy address]", false);
request.Proxy = myproxy;
request.Method = "GET";
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
有关WebProxy类的完整详细信息,请参见此处.
另请注意Fiddler FAQ中提到的重要"警告":
为什么我看不到发送到http:// localhost或http://127.0.0.1的流量?
IE7和.NET Framework是硬编码的,不通过任何代理发送对Localhost的请求,作为代理,Fiddler不会收到此类流量.解决方法是使用您的计算机名称作为主机名而不是Localhost或127.0.0.1.因此,例如, 不要访问http:// localhost:8081/mytestpage.aspx,而是访问 http:// machinename:8081/mytestpage.aspx.
...或者,如果您使用的是Fiddler v2.1.8或更高版本,只需使用http://ipv4.fiddler 命中IPv4适配器上的localhost,或使用http://ipv6.fiddler命中IPv6适配器上的localhost .这适用于Visual Studio测试Web服务器(代号:Cassini),因为测试服务器只侦听IPv4环回适配器.
最后,您可以自定义规则文件,如下所示:
Run Code Online (Sandbox Code Playgroud)static function OnBeforeRequest(oSession:Fiddler.Session) { if (oSession.HostnameIs("MYAPP")) { oSession.host = "127.0.0.1:8081"; } }...然后只需点击http:// myapp,它将作为127.0.0.1:8081的别名.
| 归档时间: |
|
| 查看次数: |
28214 次 |
| 最近记录: |