c# - 在fiddler中捕获内部请求调用

标签 c# wcf asmx fiddler

我有 Web 应用程序并在内部调用 WCF 和 ASMX 服务来获取信息。 但是,在 fildder 中,我只能看到唯一的 Web 应用程序 aspx 请求,而不是 WCF 和 asmx 服务调用。

我如何在 Fiddler 流量中捕获那些 WCF 和 asmx 调用。

如果 fiddler 没有那个选项,请推荐一些其他工具。

最佳答案

默认情况下,Fiddler 作为代理服务器运行,捕获通过它的流量。

当您在客户端运行 Fiddler 时,您的浏览器会通过 Fiddler 将请求传递到服务器。如果您的客户端和服务器在同一台 PC 上,则发送到 localhost 的流量或 127.0.0.1由于 .NET Framework 中的硬编码限制,可能会绕过 Fiddler(浏览器没有此问题)。

要解决此问题,您可以更新 .NET 代码以命中 localhost 的一个别名 Fiddler 支持,即:localhost.fiddleripv4.fiddleripv6.fiddler .

如果 Fiddler 正在服务器上 运行,并且您想捕获服务器端代码发出的请求(例如来自 ASP.NET 的出站请求),那么您需要配置 ASP.NET 应用程序以发送其到 Fiddler 的流量。这是因为,当 Fiddler 运行时,它会将 当前用户 配置为将其流量发送到 Fiddler,但 ASP.NET 在 Windows 服务帐户 中运行,而不是在当前用户的帐户中运行.有几种方法可以捕获从 ASP.NET 内部发出的请求,但是 this blog post总结的最简单。更新相应的 machine.config (通常是文件的 64 位版本)包含行

<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />

现在,如果 Fiddler 在不同的服务器上运行,那么您必须配置代理设置以指向 Fiddler 正在运行的任何机器,例如

<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://MyFiddlerServer:8888" usesystemdefault="false" />

关于c# - 在fiddler中捕获内部请求调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18827013/

相关文章:

c# - 以编程方式获取由 *.asmx/js 生成的 JavaScript

c# - 捕捉 COM 事件?

c# - excel表格中的SQL查询语句

C# WCF MySQL 跟踪并发用户

c# - DataContractSerializer.MaxItemsInObjectGraph 属性的含义

php - 使用多个参数从 PHP 调用 asp.net Web 服务

c# - Listview中的ListView-选择子级时未设置父级的SelectedIndex

c# - C# 什么时候释放 C++ DLL?

c# - wcf web.config 文件

c# - 从 jQuery 调用 ASMX