Windows 8 Metro Apps使用Proxifier的方法

By Shinichi_Wtn2012-07-05 20:28

在校园里,经常要使用代理上网的方式,Proxifier可以让不支持通过代理服务器的软件能通过HTTPS或SOCKS代理或代理链,俗称“透明代理”,支持Xp,Vista,Windows 7操作系统。虽然Proxifier在Windows 8下可以正常安装,但是使用却不是十全十美的,所有桌面程序都可以正常通过Proxifier实现代理上网,但是在Metro界面下,所有Metro应用却完全不经过Proxifier的透明代理,并且导致所有Metro无法连接互联网(即使不打开Proxifier)。难道是不兼容?显然不是,毕竟桌面程序没问题。

经过上网搜索发现,找到了一篇博文"How to use Proxifier for Windows 8 MetroStyle apps"讲解了如何让Metro应用可以使用Proxifier,同时也引用了一篇MSDN上的博文Revisiting Fiddler and Windows 8 Metro-style applications",提到了为什么Metro Apps运行的特殊性,摘录重点部分如下:

Metro-style applications run inside isolated processes known as “AppContainers,” and by default, AppContainers are forbidden from sending network traffic to the local computer (loopback)

由此可知,Metro Apps是运行在被隔离的AppContainers环境中,该环境阻止了网络流量发送到本机,即Loopback。从而,像Fiddler这样著名的抓包工具也没法抓取Metro Apps的HTTP请求等记录。

为了让Fiddler能够抓包(在开发时方便调试Metro程序),MSDN那篇博文上给出了新版本的Fiddler,里面包含了一个EnableLoopback Utility的工具,可以Exempt(豁免)部分或全部Metro应用,从而让Metro应用能够Loopback,当然也就能使用Proxifier了。OK,下面给出具体的方法。

1、从这里这里下载最新版的Fiddler并安装

2、打开Fiddler,点击"Win8 Config"或者Tools->Win8 Loopback Exemptions,这时会弹出一个新窗口"AppContainer Loopback Exemption Utility",如果你要将所有Metro Apps都使用Proxifier,点击"Exempt All",然后点击"Save Changes"

3、运行Proxifier,并设置规则让Fiddler进程通过透明代理

这样,所有Metro Apps的HTTP请求都经过Fiddler并且使用Proxifier的透明代理了

下图就是运行商店应用(Store)后Fiddler里HTTP请求的记录,是不是很爽?该方法唯一的麻烦之处是需要一直运行Fiddler,当然你可以将Fiddler设为开机启动,或者Ctrl+M将其最小化到system tray

 

Win8.1 Metro应用无法联网,提示“无法加载此页面”解决方法!(看红色字体部分)的更多相关文章

  1. Eclipse无法编译,提示错误“找不到或者无法加载主类”解决方法

    jar包问题: 1.项目的Java Build Path中的Libraries中有个jar包的Source attachment指为了一个不可用的jar包, 解决办法是:将这个不可用的jar包remo ...

  2. Adobe Flash player 10 提示:Error#2044:未处理的IOErrorEvent. text=Error#2036:加载未完成 的解决方法

    在“我的电脑”上单击鼠标右键,选择管理,在管理窗口的左栏中打开“服务和应用程序”,点击“服务”,在右边窗口中双击打开名称为“Smart Card”的服务,“常规”->“启动类型”选为自动,“登录 ...

  3. Java 提示“找不到或无法加载主类” 解决方法

    1.检查环境变量配置,我的安装路径是F:\java\jdk1.8.0_91,因为是6以上版本,故不需配置Classpath 否则 CLASSPATH=.;%JAVA_HOME%\lib\dt.jar; ...

  4. Win8.1 Metro应用无法联网终极解决方法

    Win8.1 Metro应用无法联网终极解决方法: 一.删除注册表中:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WinSock2\Par ...

  5. C#调用dll提示"试图加载格式不正确的程序"解决方法

    程序在32位操作系统上运行正常,在64位操作系统上运行读卡功能提示”试图加载格式不正确“. ------------------------------------------------------ ...

  6. Jquery中使用setInterval和setTimeout会提示缺少对象的错误,解决方法如下:

    直接在ready中调用其他方法,会提示缺少对象的错误,解决方法如下: 方法1. 应用jQuery的扩展可以解决这个问题. $(document).ready(function(){ $.extend( ...

  7. 添加删除程序无法安装IIS 提示没法加载模块

    添加删除程序无法安装IIS 提示没法加载模块 安装iis的时候提示 解决办法:依次是 属性--高级--系统变量--Path  变量值是:%SystemRoot%\system32;%SystemRoo ...

  8. jQuery的JS库在本地运行项目时提示无法加载

    最近公司有个项目在我本地运行时引用本地的jquery.js,浏览器提示无法加载 <script src="/js/newperson/jquery-1.11.3.min.js" ...

  9. 排错-Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法

    Loadrunner添加Windows Resource计数器提示“找不到网络路径”解决方法 by:授客 QQ:1033553122 1.启动windows相关服务 win->services. ...

随机推荐

  1. SRS文档 王倩倩 201303014004

    设计阶段 Spec 图书管理系统functional spec:软件功能说明书, 主要用来说明软件的外部功能, 和用户的交互情况 (把软件当作一个黑盒子).从用户的角度描述软件产品的功能, 输入,输出 ...

  2. load css use javascript

    var $ = document; // shortcut var cssId = 'myCss'; // you could encode the css path itself to genera ...

  3. 一句话在网页右上角加一个精致下拉框:forkme on github

    随着我国科技水平不断发展,玩Github的童鞋越来越多了,按照惯例,开源项目会有一个示例网站,而网站的右上角,通常会有一个forkme on github,这说明你可以去Github查看.下载项目源码 ...

  4. iOS 字典自动生成模型

    在实际开发中,我们经常需要根据字典来建模型.每次都打那么一串代码,想想也是挺恶心的.可以自己给NSDictionary写一个分类,进行属性生成. NSDictionary+Property.h #im ...

  5. 出现Bad command or the file name的原因

    出现Bad command or file name的原因 中文释义:错误的命令或文件名 . 错误原因:不能识别输入的命令 . 方法:检查所输入的指令是否正确,包括拼写和大小写等情况.

  6. [原创]Windows Phone SDK下载

    [原创]Windows Phone SDK下载 http://dev.windowsphone.com/zh-cn/downloadsdk

  7. C#中扩展StringBuilder支持链式方法

    本篇体验扩展StringBuilder使之支持链式方法. 这里有一个根据键值集合生成select元素的方法. private static string BuilderSelectBox(IDicti ...

  8. Zabbix监控Windows事件日志

    1.zabbix_agentd.win文件修改: LogFile=c:\zabbix\zabbix_agentd.log Server=1.16.2.4 ServerActive=1.16.2.4 H ...

  9. Swift入门篇-集合

    一:数组 一:可变数组 定义:数组使用有序列表存储相同类型的多重数据. 格式: 第一种格式 var 变量: 类型[] = [变量值,变量值,...] 第二种格式 var 变量 =[变量值,变量值,.. ...

  10. WPF窗体的命令绑定

    方法一:使用代码 <WpfUI:View.CommandBindings> <CommandBinding Command="Help" CanExecute=& ...