Jam*_*add 6 debugging fiddler windows-phone-7
我最近开始使用Windows Phone 7的更新测试版工具,并遇到了一个有趣的问题.似乎在Fiddler运行时,任何Http请求都会通过模拟器开始返回null结果并创建一个"未找到"Web异常.使用WebClient.DownloadStringAsync()可以很容易地重现这一点.如果我没记错的话,旧版本的模拟器确实可以与Fiddler一起使用.有没有人幸运让两人一起工作?如果不可能,我会对任何其他可以帮助调试来自WP7模拟器的Web请求的工具开放.
看起来有一篇博客文章描述了通过一些自定义规则将 Fiddler 设置为反向代理,让 fiddler 与 Win Phone 7 一起工作。
这是来自 fiddler 网站的一些说明,但博客文章似乎更清晰一些(抱歉格式古怪,块引用不配合):
选项 #1:将 Fiddler 配置为反向代理 Fiddler 可以配置为发送到 http://127.0.0.1:8888的任何流量都会自动发送到同一台计算机上的不同端口。要设置此配置:
启动 REGEDIT 在 HKCU\SOFTWARE\Microsoft\Fiddler 中创建一个名为 ReverseProxyForPort 的新 DWORD
将 DWORD 设置为您想要将入站流量重新路由到的本地端口(对于标准 HTTP 服务器,通常为端口 80) 重新启动 Fiddler 将浏览器导航到http://127.0.0.1:8888
选项#2:编写 FiddlerScript 规则 或者,您可以编写执行相同操作的规则。
假设您正在名为 WEBSERVER 的计算机的端口 80 上运行一个网站。您正在 Windows SmartPhone 设备上使用 Internet Explorer Mobile Edition 连接到网站,但无法为其配置 Web 代理。您想要捕获来自电话的流量和服务器的响应。
在 WEBSERVER 机器上启动 Fiddler,在默认端口 8888 上运行。Fiddler 选项,并确保选中“允许远程客户端连接”复选框。如果需要,请重新启动。选择规则 | 自定义规则。在 OnBeforeRequest 处理程序中,添加一行新代码: if (oSession.host.toLowerCase() == "webserver:8888") oSession.host = "webserver:80"; 在智能手机上,导航至http://webserver:8888 来自智能手机的请求将显示在 Fiddler 中。请求从端口 8888 转发到运行 Web 服务器的端口 80。响应通过 Fiddler 发送回 SmartPhone,而 SmartPhone 并不知道内容最初来自端口 80。