Windows Phone 8.1 Emulator无法通过Fiddler代理 [英] Windows Phone 8.1 Emulator not proxying through Fiddler
问题描述
我刚刚开始研究Win Phone 8.1,并通过模拟器中的Fiddler代理一些数据,但似乎并不想玩.关于Phone 7和8(不是8.1)的所有指导似乎都在于,仿真器将路由流量,就像您希望机器上使用HTTP的其他应用程序会执行此操作一样,但我没有看到它发生.例如,埃里克(Eric)在这里的帖子: http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx
I've just started looking into Win Phone 8.1 and playing with proxying some data via Fiddler from the emulator but it doesn't seem to want to play ball. All the guidance around Phone 7 and 8 (not 8.1) seems to be that the emulator will route traffic as you'd expect other apps on the machine talking HTTP to do but I'm not seeing it happen. For example, Eric's post here: http://blogs.msdn.com/b/fiddler/archive/2010/10/15/fiddler-and-the-windows-phone-emulator.aspx
没有应用过滤器.
内容已成功在模拟器上的IE中加载.
Content is loading successfully in IE on the emulator.
Fiddler已成功捕获来自主机的所有流量.
Fiddler is successfully capturing all traffic from the host.
仿真器可以成功浏览到主机,以提取Fiddler根证书.
The emulator can successfully browse to the host in order to pull the Fiddler root cert.
提琴手已正确设置了registrationhostname属性.
Fiddler has the registrationhostname property correctly set.
因此,我几乎没有想法,并且在多台计算机上看到相同的行为.我更倾向于认为自己错过了一些显而易见的事情,而不是认为8.1中发生了什么变化,对接下来的尝试有什么想法吗?
So I'm pretty much out of ideas and I'm seeing the same behaviour on multiple machines. I'm more inclined to think I've missed something obvious than I am to think something has changed in 8.1, any thoughts on what to try next?
令我困惑的一件事是,我看到的指导(例如Eric的指导)谈到了配置Fiddler以允许远程连接,但是却没有像在物理上通常要做的那样在模拟器中设置代理设备.我认为这是通过在Fiddler中配置主机名解决的,然后由仿真器解析为通过代理路由?
One thing that I'm confused about is that the guidance I see (such as Eric's) talks about configuring Fiddler to allow remote connections but then there's nothing on setting a proxy in the emulator as you'd normally do with a physical device. I assume this is accounted for by configuring the host name in Fiddler and that it's then resolved by the emulator to route through the proxy?
仅供参考,我需要模拟器,因为它将在即将到来的Pluralsight课程中使用,我想同时显示电话行为和通过Fiddler的流量.我怀疑这个问题可能与它正在通过主机上的虚拟NIC进行交谈这一事实有关,听起来合理吗?
Just for reference, I need the emulator as it'll be used in an upcoming Pluralsight course where I want to show both the phone behaviour and the traffic via Fiddler. I suspect the issue may be related to the fact that it's talking over a virtual NIC on the host, sound reasonable?
推荐答案
我可以在Fiddler中成功使用Windows Phone 8.1虚拟机(在Windows 8.1 Update 1上).
I can successfully use Windows Phone 8.1 Virtual Machines (on Windows 8.1 Update 1) with Fiddler.
尝试一下:
- 运行Fiddler.
- 点击
工具
>提琴手选项
>连接
.将Fiddler监听端口
从8888
更改为其他名称,例如8889
.(Windows Phone团队决定为调试器窃取端口8888). - 勾选
允许远程计算机连接
框. - 点击
确定
按钮 - 在Fiddler的会话列表下方的 QuickExec 框中,键入
prefs set fiddler.network.proxy.RegistrationHostName 169.254.80.80
,在该IP地址的顶部将鼠标悬停在Fiddler工具栏右上方的Online
指示器上时,会看到一个工具提示. - 重新启动提琴手.
- 启动VS 2013并加载您的项目.对于
Windows Phone 8.1模拟器
,单击Run
. - 打开IE.出现设置"对话框时,选择
自定义设置
.在Data Sense节省
下拉菜单中,选择Off
. - 点击
完成
.
- Run Fiddler.
- Click
Tools
>Fiddler Options
>Connections
. Change theFiddler Listen Port
from8888
to something else, e.g.8889
. (The Windows Phone team decided to steal port 8888 for their debugger). - Tick the
Allow remote computers to connect
box. - Click
Ok
button - In the QuickExec box below Fiddler's session list, type
prefs set fiddler.network.proxy.RegistrationHostName 169.254.80.80
where the IP address is found at the top of the tooltip you see when hovering over theOnline
indicator at the top-right of Fiddler's toolbar. - Restart Fiddler.
- Start VS 2013 and load your project. Click
Run
for theWindows Phone 8.1 emulator
. - Open IE. When the Settings dialog box appears, choose
Custom Settings
. In theData Sense savings
drop down, chooseOff
. - Click
Done
.
从技术上讲,不需要第二步(因为他们的调试器正在侦听环回而不是公共IP),但这不会造成伤害.对于要执行步骤8,我不是很肯定,但是鉴于Data Sense的浏览器优化服务是基于云中的代理的,因此它肯定会受到干扰.
Step #2 technically shouldn't be required (because their debugger is listening on loopback instead of the public IP), but it can't hurt. I'm not positive that Step #8 is required, but given that Data Sense's browser-optimization service is based on a proxy in the cloud, it certainly seems like it could interfere.
这篇关于Windows Phone 8.1 Emulator无法通过Fiddler代理的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!