01-001
1. 開着代理的情況下,Win10 UWP 應用無法聯網
平時經常需要使用網絡代理,但是它開着的時候,總會導緻我電腦裡 UWP 應用出現無法聯網的狀态,EXE應用不受影響。每次使用UWP應用時把代理關了就可以正常聯網了。了解到是 UWP 的一些特殊原因,具體原因如下:
Win10 所有 UWP 應用均運作在被稱為 App Container 的虛拟沙箱環境中,App Container 可以保證應用安全性,但同時也阻止了網絡流量發送到本機(即 loopback), 使大部分網絡抓包調試工具無法對 UWP 應用進行流量分析。同樣的,該機制也阻止了 UWP 應用通路 localhost,即使你在系統設定中啟用了代理,也無法令 UWP 應用通路本地代理伺服器。
解決辦法有兩種
1. 使用 Fiddler 4 解除 UWP 應用的網絡隔離。(此方法最為簡單)下載下傳安裝 Fiddler 應用,下載下傳連結:Fiddler 官網下載下傳位址 (下載下傳前的資料随便填)
安裝後打開應用,按照下方截圖順序:
1. 點選winConfig
2. 找到并勾選你所有需要解除網絡隔離的應用 3. 點選Save Changes 儲存
操作結束。開着代理使用一下剛剛修改的應用,看看是不是已經可以正常聯網了。
Fiddler 應用界面
2. 通過指令行工具解除 UWP 應用網絡隔離(這個辦法稍微麻煩點)Win10 自帶了一款名為 CheckNetIsolation.exe 的指令行工具,可以将 UWP 應用添加到排除清單,具體步驟如下:
1. 通過系統資料庫擷取應用的 SID
Win + R 快捷鍵打開「運作」視窗,輸入Regedit打開系統資料庫編輯器。然後複制下面這段位址定位黏貼到位址欄中:HKEY_CURRENT_USERSoftwareClassesLocal SettingsSoftwareMicrosoftWindowsCurrentVersionAppContainerMappings
Mappings 檔案夾内的内容,就是所有 UWP 應用的對應的 SID。随便點選一個 SID 右邊會顯示應用名稱。找到你要解除網絡隔離的應用,複制它的 SID。
系統資料庫
2.打開 CMD 面闆,使用 CheckNetIsolation.exe 解除應用隔離
Win + R 快捷鍵打開「運作」視窗,輸入CMD打開指令行。
直接在終端中輸入:CheckNetIsolation.exe loopbackexempt -a -p= 等号後面加上你剛剛複制的應用 SID, 接着回車後指令行顯示完成說一般就成功了。一次隻能解除一個應用,想要解除多個應用,找到對應的 SID,依次解除即可。
指令行裡的内容