Web services 为什么可以';Fiddler看不到我的web服务流量吗?

Web services 为什么可以';Fiddler看不到我的web服务流量吗?,web-services,fiddler,network-traffic,Web Services,Fiddler,Network Traffic,我有一个问题,Fiddler没有显示从我的应用程序(本地运行)发出的web服务调用。还有我的问题 所以我的问题不是如何,而是为什么Fiddler不显示web服务流量?我对网络流量如何工作的了解非常有限,因此这可能非常简单/明显。我能破译的只有: 我不认为这与HTTPS有任何关系,因为我可以在Fiddler中看到HTTPS请求(如果我想通过Fiddler的设置进行解码) 我复制了一段代码newwebproxy(“127.0.0.1”,8888)为了让它工作,所以它必须与代理有关 这是一个ASP.N

我有一个问题,Fiddler没有显示从我的应用程序(本地运行)发出的web服务调用。还有我的问题

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

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

  • 我复制了一段代码
    newwebproxy(“127.0.0.1”,8888)为了让它工作,所以它必须与代理有关

  • 这是一个ASP.NET应用程序,以防产生影响。

    如上所述:

    第一段正是我需要的解释:当Fiddler启动并连接时,它会调整当前用户的代理设置以指向Fiddler,默认情况下运行于127.0.0.1:8888。这意味着来自大多数应用程序的流量都会自动通过Fiddler,而无需任何额外的配置步骤。虽然我想我也应该感谢埃里克,因为他似乎是写这篇文章的人

    参考资料


    真是个老问题,但是:

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

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

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

    简单地说:

  • 开放IIS
  • 查找您的网站应用程序池名称(右键单击网站->管理网站->高级设置->在应用程序池下列出)
  • 转到应用程序池高级设置(应用程序池->右键单击所需的应用程序池->高级设置)
  • 将用户帐户更改为您的帐户(标识->…->自定义帐户->设置)

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

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

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

    在我看来,这与这个问题非常相关:由于您有一个本地代理,Fiddler忽略了您的流量。您可以按照上面的链接进行修复。可能重复-此答案:解释了原因。基于此,我有一个指向第三方托管服务的服务引用。因此,web服务不是本地主机,也不是本地的,它肯定是在说出站。这有区别吗?这个答案似乎和一个本地web服务调用有关;它只看到发送给它的东西。默认情况下,这包括在您的用户帐户中运行的大多数客户端(例如浏览器)。IIS/ASP.NET在不同的用户帐户中运行。我在其他地方找到了此解决方案,并尝试使用它。这一部分的模式似乎已经改变,或者我不知道如何将其集成到当前标记中。如果您使用asp.net,这是现有的标记,这是正确的答案。Fiddler似乎也默认为登录用户的流量,而不考虑“运行方式…”,因此,如果您的服务以登录用户以外的任何用户的身份运行,它将不会看到流量,如果您获得“指定的密码无效。键入新密码”,请参阅