调试 ASP.NET 应用程序时如何在 Fiddler 中显示本地主机流量?
Posted
技术标签:
【中文标题】调试 ASP.NET 应用程序时如何在 Fiddler 中显示本地主机流量?【英文标题】:How to display localhost traffic in Fiddler while debugging an ASP.NET application? 【发布时间】:2010-10-23 23:48:11 【问题描述】:调试 ASP.NET 应用程序时如何在 Fiddler 中显示 localhost 流量?
【问题讨论】:
从 IE9 开始,不需要特殊技巧。 blogs.msdn.com/b/fiddler/archive/2011/02/10/… 【参考方案1】:尝试使用这个:
http://ipv4.fiddler/folder
而不是
http://localhost/folder
这也适用于端口
http://ipv4.fiddler:12345/folder
这里是提琴手文档的链接
http://docs.telerik.com/fiddler/Configure-Fiddler/Tasks/MonitorLocalTraffic
【讨论】:
注意:只有 IE 需要,并且只有 IE8 和更早版本才需要。 【参考方案2】:要让 Fiddler 使用 IIS Express 在 localhost 上工作,您应该使用这种形式的 URL
http://localhost.fiddler:50262/
这会放置满足 IIS Express 的正确主机标头值 (localhost)。
【讨论】:
这对我来说是一种享受,我尝试从在 Visual Studio/IIS Express 下运行的测试站点使用 Excel OData 提要导入。 我的头撞墙了,这对我也很有用!谢谢! 这适用于本地托管的 IIS express Asp.net web api。干杯。【参考方案3】:启动提琴手。 转到工具-> Fiddler 选项。 选择连接选项卡。 勾选“使用 PAC 脚本”选项。
现在您也可以监控本地流量了
【讨论】:
我在添加 .使用 SSL 和我们公司的代理,但更改此设置可以解决问题。谢谢!【参考方案4】:对于 ASP.NET 网站项目:
1) 右键单击项目并选择属性页 2) 选择开始选项 3) 在“服务器”部分下,单击“使用自定义服务器”并通过将 localhost 替换为您的计算机名称来编辑基本 URL。
【讨论】:
【参考方案5】:监控到 localhost 的流量的最简单方法可能是将“localhost”替换为“localhost”。在浏览器的 URL 栏中。例如
http://localhost./MyApp/default.aspx
【讨论】:
【参考方案6】:使用 Fiddler v4:
-
检查您的 IE 代理设置
IE->工具->Internet 选项->连接->局域网设置
-
检查您在 Fiddler 中的设置:
Fiddler -> 选项-> 连接和 Https
检查 Fiddler 端口,默认为 8888
-
在 Fiddler 菜单中:
文件 -> 捕获流量被选中
以下解决方案对我有用,当使用
HttpClient 或 网络客户端 从 ASP.NET 应用程序内部。Web.config
<system.net>
<defaultProxy
enabled = "true"
useDefaultCredentials = "true">
<proxy autoDetect="False" bypassonlocal="False" proxyaddress="http://127.0.0.1:8888" usesystemdefault="False" />
</defaultProxy>
代码:
var resourceServerUri = new Uri("http://localhost.fiddler:YourAppServicePort");
var body = c.GetStringAsync(new Uri(resourceServerUri)).Result;
通过自定义 Fiddler 规则脚本检查您的请求是否真正到达 fiddler
Fiddler->规则->自定义规则
并挂钩到 OnBeforeRequest 事件:
static function OnBeforeRequest(oSession: Session)
if (oSession.hostname.Contains("localhost:YourPortNumber")
System.Windows.Forms.MessageBox.Show(oSession.hostname);
或通过设置网络代理明确
WebClient wc = new WebClient();
WebProxy proxy = new WebProxy();
// try one of these URIs
proxy.Address = new Uri("http://127.0.0.1:8888");
proxy.Address = new Uri("http://hostname:8888");
proxy.Address = new Uri("http://localhost.fiddler");
proxy.Address = new Uri("http://ipv4.fiddler");
// https://en.wikipedia.org/wiki/IPv6
proxy.Address = new Uri("http://ipv6.fiddler");
proxy.BypassProxyOnLocal = false; wc.Proxy = proxy;
var b = wc.DownloadString(new Uri(YourResourceServerBaseAddress));
【讨论】:
【参考方案7】:查看此链接...“解决方法”很老套,但确实有效:
Tip for using Fiddler on localhost
【讨论】:
我试过那个方法,它提示我弹出一个 IE 凭据。我输入我的 AD 用户凭据并获得 HTTP 401.1 登录失败。 我在博客文章中的一个 cmets 中提供了答案和建议。【参考方案8】:您可以使用 PC 主机名而不是 127.0.0.1 或 localhost
【讨论】:
【参考方案9】:在 Fiddler 选项中检查“使用 PAC 脚本” -> 在公司 Intranet 中使用 IIS Express 时,连接对我有用。
【讨论】:
不知道发生了什么,但我最近将提琴手升级到 v4.6.2.2 并且检查“美国 PAC 脚本”实际上阻止了提琴手的工作。我不得不取消选中该选项才能让事情再次正常运行...【参考方案10】:确保在您的 Fiddler 连接中,localhost 不在“IE 应绕过 Fiddler 以获取以:开头的 URL”框。
【讨论】:
“IE 应该绕过 Fiddler 以获取以开头的 URL”为空。【参考方案11】:您应该取消选中该复选框:
本地地址绕过代理服务器
位于 Internet Explorer 的代理配置中。
【讨论】:
【参考方案12】:试试http://127.0.0.1。
所以你仍然可以连接到 Casini 并轻松调试(我目前正在调试页面 http://127.0.0.1.:1718/login/Default.aspx )。
【讨论】:
如果是本地主机。答案不适合你(因为它不适合我)【参考方案13】:一种可能的解决方案是删除 IE 中的代理设置,如下所示。
IE->Tools->Internet Options->Connections->Lan Settings->
禁用关注
自动检测设置 使用自动配置脚本【讨论】:
【参考方案14】:如果尝试使用 Fiddler 从 BizTalk 捕获本地计算机上的 HTTPS 流量,请尝试使用 WCF 适配器代理设置。我使用的地址是:http://localhost:8888/
【讨论】:
Mi hijo und dessen Frau 不得不买一些纯种的猫,因为他们又带着另一个 gato letzte nacht 回家了。以上是关于调试 ASP.NET 应用程序时如何在 Fiddler 中显示本地主机流量?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Visual Studio 2015 asp.net 5 中调试 Typescript?
IIS Express 在调试 ASP.NET MVC 时出现拒绝访问错误
如何在本地 IIS 而非 Express 中调试 ASP.NET 5 Web 应用程序