解決使用代理時 Windows 10 UWP 應用無法聯網問題


轉自:https://www.jianshu.com/p/9d1566aa94cf

原因:Windows 10 所有 UWP 應用均運行在被稱為 App Container 的虛擬沙箱環境中,App Container 可以保證應用安全性,但同時也阻止了網絡流量發送到本機(即 loopback), 使大部分網絡抓包調試工具無法對 UWP 應用進行流量分析。同樣的,該機制也阻止了 UWP 應用訪問 localhost,即使你在系統設置中啟用了代理,也無法令 UWP 應用訪問本地代理服務器。

 

解決方法1:使用 Fiddler 4 解除 UWP 應用的網絡隔離

打開 Fiddler 4,點擊 WinConfig 按鈕,找到並勾選你所有需要解除網絡隔離的應用(或者直接 Exempt All 選擇全部),點擊Save Changes 保存

1600394980(1)

 

解決方法2:通過 Windows 自帶的命令行工具 CheckNetIsolation.exe 解除 UWP 應用網絡隔離

Win10 自帶了一款名為 CheckNetIsolation.exe 的命令行工具,可以將 UWP 應用添加到排除列表,具體步驟如下:

1. 通過注冊表獲取應用的 SID

Win + R 快捷鍵打開「運行」窗口,輸入Regedit打開注冊表編輯器。然后復制下面這段地址定位黏貼到地址欄中:HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings

Mappings 文件夾內的內容,就是所有 UWP 應用的對應的 SID。隨便點擊一個 SID 右邊會顯示應用名稱。找到你要解除網絡隔離的應用,復制它的 SID。

1600395181(1)

2.打開 CMD 面板,使用 CheckNetIsolation.exe 解除應用隔離

Win + R 快捷鍵打開「運行」窗口,輸入CMD打開命令行。

直接在終端中輸入:CheckNetIsolation.exe loopbackexempt -a -p=      等號后面加上你剛剛復制的應用 SID,接着回車后命令行顯示完成說一般就成功了。一次只能解除一個應用,想要解除多個應用,找到對應的 SID,依次解除即可。

1600395359(1)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM