关于 Window 的 UWP 应用本地回环限制以及限制解除方案

这篇具有很好参考价值的文章主要介绍了关于 Window 的 UWP 应用本地回环限制以及限制解除方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

关于 Window 的 UWP 应用本地回环限制以及限制解除方案


1. UWP 应用默认禁止本地回环

UWP 应用在默认的情况下,禁止访问本地的 Localhost(这被称做本地回环 Loopback)。

然而我们在开发、调试、正向代理等场景下,又不得不让 UWP 突破这一个限制。

参考链接:文章来源地址https://www.toymoban.com/news/detail-449416.html

  • MS Docs - App architecture
  • MS Docs - Deploying and debugging UWP apps

2. 官方限制解除工具 CheckNetIsolation.exe

这个工具位于 C:/Windows/System32/CheckNetIsolation.exe,它的功能为解除 UWP 的本地 Loopback 限制或者调试应用(本文仅介绍解除 Loopback 限制)。

./CheckNetIsolation.exe LoopbackExempt [operation] [-n=] [-p=]

常见用法:

  • -s: 查看已经取得 Loopback 豁免的应用列表
  • -a -p=[App Container SID] or -a -n=[App Container Name]: 添加应用豁免
  • -d -p=[App Container SID] or -d -n=[App Container Name]: 移除应用豁免
  • -c: 移除所有安装的应用的豁免

参考链接:

  • MS Docs - Enable loopback for network access
  • MS Docs - Enabling loopback for a UWP application

3. 如何获取所有安装应用的 SID

在注册表目录 HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings 即可取得所有 App 的 SID 列表。

通过结合 CMD 或者 Pwsh 的循环命令,即可自动化为所有已安装应用添加豁免:

CMD 命令:

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

Powershell 命令:

Get-ChildItem -Path Registry::"HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings\" -name | ForEach-Object {CheckNetIsolation.exe LoopbackExempt -a -p="$_"}

参考链接:
一般方法 - Windows 用户:UWP 应用回环问题


4. 其他便捷工具以及深层次分析

来自 Fiddler 的 Enable Loopback Utility 或开源项目 Loopback Exemption Manager 的这两个工具提供了很方便的图形化方式来对安装的 UWP 应用进行 Loopback 豁免。

深入研究后者工具以及类似工具的源代码,并参考作者提到的:

Thanks to Eric Lawrence for helping with the PInvokes.

注:提到的此人为 Fiddler 的作者

我们可以知道,开源工具的作者从 Fiddler 那里借鉴了 P/Invokes 的方式获取 API,而所 Invoke 的 API 主要来自于 FirewallAPI.dll,这个 dll 提供了很多与 UWP Loopback 豁免相关的实用方法。

我们继续使用 VS2022 的 Dev Shell 对官方的 CheckNetIsolation.exe 进行 dll 依赖分析(需要安装 VS 2022):
关于 Window 的 UWP 应用本地回环限制以及限制解除方案
到这里我们便可以得知,无论是官方工具还是第三方工具的实现,都是调用 FirewallAPI.dll 提供的 API 来进行 Loopback 豁免的。

参考链接:

  • Stackoverflow - Can’t see localhost from UWP app
  • MS Docs - Platform Invoke (P/Invoke)

到了这里,关于关于 Window 的 UWP 应用本地回环限制以及限制解除方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UE4 解除帧率限制

    ~波浪线按键打开控制台输入命令t.MaxFPS 200,意思是将引擎的最大帧率设为200,前提是电脑性能足够好,否则可能达不到这个值。 输入命令前最高不超过90帧 输入命令后帧率几乎翻倍,但由于电脑性能不够,它达不到200帧。

    2024年02月12日
    浏览(49)
  • unity关于navigation使用的问题——Window没有AI选项以及Navigation烘焙没有效果

    在Window中Package Manager的unity register下载AI Register包,然后你就发现window中有AI选项了 这个我看了其他人的解决方法都没用,然后我自己捣鼓出来了,希望可以给其他遇到这种情况的朋友一点帮助。  1.Gizmos一定要选上为蓝色,也就是右上角的那个类似地球的图标 2.Show only Selec

    2024年02月08日
    浏览(37)
  • 荣耀路由2S如何解除MAC地址绑定限制?

    荣耀路由2S如何解除MAC地址绑定限制? 有些网络服务提供商会把用户的上网帐号和计算机网卡的MAC地址进行绑定,这样一个上网账号只支持一台设备上网,但是荣耀路由2S却可以通过克隆MAC地址功能解除限定。 解除MAC地址绑定方法 方法一:使用“从旧路由器获取”功能克隆

    2024年02月07日
    浏览(51)
  • 解除Excel限制编辑的两种方法

    Excel被限制编辑,是很容易看得出的,一般会出现不能编辑,不能复制粘贴、打印等操作,也会出现下面提示。 还有一种限制是设置成只读模式,在打开Excel表格时就会出现提示。   我们可以根据不同的限制设置,用以下两种方法来解除。 首先,我们可以看下Excel表格中【审

    2024年02月10日
    浏览(83)
  • New Bing相关设置与解除聊天次数限制

    最近ChatGPT相关的话题很多。之前使用了一下,感觉虽然功能很强大,但是ChatGPT只能查找2021年之前的信息,并且会编造一些虚假信息。例如让其给出一些信息的来源的时候,就会胡乱编造。 New Bing是ChatGPT的升级版,集成了ChatGPT,同时还支持实时网络查询,能够为用户提供更

    2023年04月14日
    浏览(52)
  • Linux下 TCP 连接限制如何解除,解决socket高并发连接数限制,tcp默认1024个连接

    苏州私有云 当用户使用Linux作为系统时,socket在运行高并发的TCP程序时,可能会遇到连接数量到一定个数后被阻断的情况 我在工作的时候,测试高并发tcp程序(GPS服务器端程序),经过多次测试之后,发现每次建立的连接到达1000个左右 就再也不能建立tcp连接,然后在互联网

    2024年02月16日
    浏览(101)
  • Windows - UWP - 为UWP应用创建桌面快捷方式

    这是一个较为简单的方式,不需要过多的命令行。 首先 Win + R - shell:AppsFolder - 回车 , 这将显示电脑上的已安装应用(Win32 UWP): 找到想要创建快捷方式的UWP应用(这里以QQ音乐UWP为例), 右键 - 创建快捷方式 接着会弹出“是否在桌面创建快捷方式”的提醒: 选择“是”即

    2024年02月13日
    浏览(42)
  • Linux----MobaXterm如何解除最多保存14个Session的限制

    【原文链接】Linux----MobaXterm如何解除最多保存14个Session的限制 在使用MobaXterm保存linux连接会话的时候,发现最多只能保存14个会话,再新增会话时不会保存,导致后续链接每次必须重新输入会话信息。如此使用起来非常不方便,本文就如何解除此限制做详细介绍 (1)基于 g

    2024年02月16日
    浏览(45)
  • RK356X 解除UVC摄像头预览分辨率1080P限制

      RK3566 + Android 11     UVC: USB video class(又称为USB video device class or UVC)就是USB device class视频产品在不需要安装任何的驱动程序下即插即用,包括摄像头、数字摄影机、模拟视频转换器、电视卡及静态视频相机。 测试代码: 打印出来后显示支持的预览分辨率如下: 然而,把

    2023年04月22日
    浏览(55)
  • 安卓12解除进程限制的第二种方式:VMOS PRO 借助电脑激活

    关于安卓12 VMOS PRO 借助电脑激活步骤如下: 第一步,使用usb线将手机连接至电脑。 第二步,打开手机的“开发者选项”,打开USB调试开关,确保手机已进入USB调试模式。 第三步,将激活程序包(vmos_activation.zip)下载到电脑上,解压激活程序包。 激活程序包下载地址 密码

    2024年02月11日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包