我如何让Fiddler捕获我的MVC应用程序向我的ASP.NET Web API发出的HTTP请求?

时间:2014-07-12 00:03:25

标签: asp.net asp.net-mvc asp.net-web-api fiddler

我有一个ASP.NET MVC应用程序,它使用System.Net.HttpClient类向ASP.NET Web API发出请求。当我开始调试它们时,MVC应用程序(即客户端)和ASP.NET Web API(即服务器)都由Visual Studio调试器托管在IIS Express中。

我想让Fiddler捕获我的MVC应用程序对ASP.NET Web API的请求。这可能吗?

2 个答案:

答案 0 :(得分:4)

Fiddler Docs加上这个确切的问题。

这有两个部分

1将MVC应用设置为使用fiddler 作为web.config中的代理

<configuration>
 <system.net>
  <defaultProxy>
   <proxy bypassonlocal="false" usesystemdefault="true" />
  </defaultProxy>
 </system.net>
</configuration>

或代码:GlobalProxySelection.Select = new WebProxy("127.0.0.1", 8888);

2按机器名称而不是localhost引用您的api。这是因为.net默认情况下在通过localhost引用某些内容时不会使用代理。

答案 1 :(得分:2)

.NET Framework是硬编码的,不通过代理将流量传递给localhost。尝试使用http://localhost.fiddler:xxxx/。这应该通过fiddler路由您的请求,以便它可以捕获流量。有关详细信息和其他几个地址选项,请参阅Fiddler Documentation on this problem