【发布时间】:2017-07-27 07:49:45
【问题描述】:
我在端口 8888 上运行 Fiddler
Web.config:
<system.net>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy bypassonlocal="False" proxyaddress="http://localhost:8888" usesystemdefault="False" autoDetect="False" />
</defaultProxy>
</system.net>
应用代码(指定与之对话的 API 控制器的凭据):
var wc = new WebClient();
wc.Proxy = new WebProxy(new Uri($"http://localhost:8888"), false);
wc.Credentials = new NetworkCredential("myuser", "mypass");
var response = wc.UploadString("http://localhost:11026/api/mycontroller/mymethod", "POST", request);
我一辈子都无法通过 Fiddler 进行通信,因此我可以调试请求。我做错了吗?
更新
此信息由 Fiddler help 提供,但在 web.config 和应用程序代码中都使用了 localhost.fiddler,但仍然没有被 Fiddler 捕获(并且当 Fiddler 关闭时,它不会导致连接失败错误)
解决方案 2:使用http://ipv4.fiddler
使用http://ipv4.fiddler 访问 IPv4 适配器上的 localhost。这 与 Visual Studio 测试网络服务器(代号: Cassini),因为测试服务器只监听 IPv4 环回 适配器。使用http://ipv6.fiddler 在 IPv6 适配器上点击 localhost, 或使用http://localhost.fiddler 在中使用“localhost”访问本地主机 主机头。最后一个选项应该最适合 IIS Express。
【问题讨论】:
标签: c# asp.net-mvc proxy webclient fiddler