获取使用 HttpWebRequest/HttpWebResponse 发出的 HTTP 请求和响应以在 Fiddler 中显示

2023-12-06

有什么方法可以连接 Fiddler 来捕获使用 .NET HttpWebRequest 和 HttpWebResponse 发出的请求和响应吗?


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>

See here有关的完整详细信息<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();

See here有关 WebProxy 类的完整详细信息。

另请注意 Fiddler 常见问题解答中提到的重要“警告”:

为什么我看不到发送至的流量http://localhost or http://127.0.0.1?
IE7 和 .NET Framework 是 硬编码不发送请求 通过任何代理的本地主机,以及 代理,Fiddler 不会收到这样的 交通。

解决方法是使用您的 机器名作为主机名 本地主机或 127.0.0.1。因此对于 实例,而不是击中http://localhost:8081/mytestpage.aspx, 相反,访问http://机器名:8081/mytestpage.aspx.

...或者,如果您使用的是 Fiddler v2.1.8 或稍后,只需使用http://ipv4.fiddler要访问 IPv4 适配器上的 localhost, 或使用http://ipv6.fiddler打 IPv6 适配器上的本地主机。这 与视觉效果特别好 Studio 测试网络服务器(代号: 卡西尼号)因为仅测试服务器 侦听 IPv4 环回适配器。

最后,您可以自定义您的规则 像这样的文件:

    static function OnBeforeRequest(oSession:Fiddler.Session)
    {
      if (oSession.HostnameIs("MYAPP"))
      {
        oSession.host = "127.0.0.1:8081";
      }
    }  

...然后点击http://myapp,这将充当 127.0.0.1:8081 的别名。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取使用 HttpWebRequest/HttpWebResponse 发出的 HTTP 请求和响应以在 Fiddler 中显示 的相关文章

随机推荐