zl程序教程

您现在的位置是:首页 >  云平台

当前栏目

Windows10系统下UWP应用在使用代理时无法联网问题解决办法

代理应用系统 问题 使用 无法 解决办法 联网
2023-06-13 09:12:07 时间

现象

有时需要使用网络代理,但是它开着的时候,电脑的UWP应用就无法联网,比如Windows商店和天气应用,EXE应用不受影响。关掉代理,UWP应用就可以正常联网了。

原理

所有UWP应用均运行在被称为App Container的虚拟沙箱环境中,App Container可以保证应用安全性,但同时也阻止了网络流量发送到本机(即loopback),使大部分网络抓包调试工具无法对UWP应用进行流量分析。 同样的,该机制也阻止了UWP应用访问localhost,即使你在系统设置中启用了代理,也无法令UWP应用访问本地代理服务器。 简单说,就是UWP应用的虚拟沙箱有个限制拦截了发往本机的流量。

解决办法

解决的办法就是解除这个限制。 github上也有相关的issue,但解决办法并不是那么方便。issue 最简单有效的办法是下面两个脚本。有幸在一个知乎帖子的评论中找到。

脚本1

foreach ($n in (get-appxpackage).packagefamilyname) {checknetisolation loopbackexempt -a -n="$n"}

脚本2

FOR /F "tokens=11 delims=\" %p IN ('REG QUERY "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings"') DO CheckNetIsolation.exe LoopbackExempt -a -p=%p