14

我有一个问题,Fiddler 没有显示从我的应用程序(在本地运行)发出的 Web 服务调用。我发现解决了我的问题。

所以我的问题不是如何,而是为什么Fiddler 不显示 Web 服务流量?我对网络流量如何工作的了解非常有限,因此这可能非常简单/显而易见。我能破译的是:

  1. 我认为这与 HTTPS 没有任何关系,因为我可以在 Fiddler 中看到 HTTPS 请求(如果我想通过 Fiddler 的设置进行解码)。

  2. 我复制了一段代码new WebProxy("127.0.0.1", 8888);以使其正常工作,所以它一定与代理有关吗?

这是一个 ASP.NET 应用程序,以防万一。

4

3 回答 3

26

真的很老的问题但是:

虽然答案和评论暗示了正确的解决方案,但它们远未回答问题。

Fiddler 通过您的用户帐户查看流量。由于 Web 服务由应用程序池身份运行,fiddler 无法看到它们的流量。

最简单的解决方案(也是唯一对我有用的解决方案)是更改网站应用程序池用户以在您的帐户下运行

简单地:

  1. 打开 IIS
  2. 找到您的网站应用程序池名称(右键单击网站 -> 管理网站 -> 高级设置 -> 在应用程序池下列出)
  3. 转到应用程序池高级设置(应用程序池 -> 右键单击​​所需的应用程序池 -> 高级设置)
  4. 将用户帐户更改为您的帐户(身份 -> ... -> 自定义帐户 -> 设置)
于 2016-10-20T20:57:31.440 回答
4

如上所述:

第一段正是我需要的解释:当 Fiddler 启动并附加时,它会调整当前用户的代理设置以指向 Fiddler,默认在 127.0.0.1:8888 上运行。这意味着来自大多数应用程序的流量会自动流经 Fiddler,而无需任何额外的配置步骤。虽然我想我也应该感谢 Eric,因为他似乎是写它的人!

参考

于 2014-10-10T17:27:16.210 回答
1

在配置中添加以下内容也是一种解决方案。

 <system.net>
  <defaultProxy enabled = "true">
    <proxy bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" />
  </defaultProxy>
</system.net>

此外,如果来自 Web 服务的流量指向同一 localhost 中的另一个应用程序,请尝试在请求 url 中使用机器名称而不是localhost 。

于 2018-02-07T23:59:47.630 回答