13

我最近安装了最新的 Fiddler (Fiddler4),但我绝对没有尝试让它捕获本地流量。我有一个 MVC 应用程序,它连接到在 IIS 上运行的 MVC WebApi 应用程序,这是我尝试过的:

  • Fiddler 选项 > 连接 > 监控所有连接并使用 PAC 脚本
  • 更改了 WebClient C# 调用以使用以下 URL,但没有成功:
  • 将 IIS 中的“默认网站”更改为在使用我的本地帐户的新 AppPool 下运行,并以管理员身份运行 Fiddler
  • 添加 <system.net> <defaultProxy> <proxy bypassonlocal="False" usesystemdefault="True" /> </defaultProxy> </system.net> 到我的 MVC 应用程序的 web.config 中。

没有任何效果,我不知道该尝试什么。任何意见是极大的赞赏。谢谢,肖恩

4

6 回答 6

8

事实证明,我需要将 Fiddler 设置为反向代理(http://fiddler2.com/documentation/Configure-Fiddler/Tasks/UseFiddlerAsReverseProxy)。我真的不明白为什么在我从 Fiddler2 升级到 Fiddler4 之前我不必这样做。我曾经能够使用http://ipv4.localhost/app-name并且一切正常。不过,为了让它与 Fiddler4 一起工作,我设置了反向代理,然后将我的所有请求http://ipv4.localhost/app-namehttp://machinename:8888/app-name. 我现在可以收听应用程序间的通信。知道为什么我不必对 Fiddler2 执行此操作,但我现在在升级到 Fiddler4 后需要这样做吗?

于 2013-06-08T20:51:05.403 回答
4

我知道你在你的 OP 中提到了这一点,但这对我有用,而且做起来超级简单,所以我想我会分享一下,以防其他人遇到同样的问题并且不想经历设置反向的麻烦如果他们不需要代理。


我通过简单地更改 IIS 应用程序池来使其工作,我想检查其流量以我的身份运行,因为 Fiddler 似乎默认只捕获登录用户的流量。只需确保您的用户拥有 IIS 所需的所有必要权限即可;我是管理员,所以这对我来说不是问题。当然,完成后不要忘记将 IIS 应用程序池标识改回来。

当然,另一种选择是以运行 IIS 应用程序池的用户身份登录(如果它不是类似的服务帐户Network Service),然后在以其他用户身份登录时运行 Fiddler。

于 2015-02-04T22:38:19.413 回答
1

我知道捕获非 Webbrowser 流量的最简单可靠的解决方案是明确指定 Fiddler 的端口作为 Web 请求的代理。根据请求,您的代码正在使代码看起来类似于:

 request.Proxy = new WebProxy("127.0.0.1", 8888)

注意:不要忘记使用“Capturing”和“All Process”运行 Fiddler(在 Fiddler 的状态栏中可见)

于 2013-06-07T23:29:59.190 回答
0

尝试使用http://machinename./page

即..尝试在机器名称后加一个句点并浏览。

于 2013-06-08T04:02:28.917 回答
0

尝试在您的主机文件 (c:\windows\system32\drivers\etc\hosts) 中添加一条记录,例如:

127.0.0.1   mysite.local

然后,您需要在 IIS 中的网站中进行绑定以匹配。

然后使用http://mysite.local/

于 2013-06-07T23:08:03.497 回答
0

我遇到了同样的问题。通过修改Web.config修复

<system.net>
    <defaultProxy enabled="true">
        <proxy proxyaddress="http://127.0.0.1:8888" bypassonlocal="False"/>
    </defaultProxy>
</system.net>
于 2019-08-01T13:20:38.673 回答