现象
有时需要使用网络代理,但是它开着的时候,电脑的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广告
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END




暂无评论内容