如何通过powershell拦截强制门户URL?

问题描述

当连接到围墙花园网络(例如免费机场 wifi)时,该网络通常会在浏览器中自动打开其强制门户的 URL。如何使用 Powershell 拦截此 URL?

背景:我使用 DNScrypt-Proxy 来加密我的 DNS 流量,但它经常破坏强制门户请求。我正在编写一个 Powershell 脚本来检测我的计算机何时尝试连接到围墙花园网络并暂时禁用 DNScrypt-proxy 以允许门户请求通过。我实际上想在非认浏览器窗口中打开 Captive Portal URL,并且要以编程方式执行此操作,我需要能够拦截*网络尝试打开的 URL。 (*该 URL 不会进入我的认浏览器并不是 100% 必要的,因为我可以随时关闭浏览器选项卡。如果不关闭它会更干净。) >

怀疑这涉及到数据包嗅探,但我对网络相关的东西真的一点都不熟悉。简单的解决方案,尤其是那些不需要任何外部程序(如 Wireshark)的解决方案,是更可取的。谢谢!

编辑:我发现 this code 不会拦截请求(我不知道强制网络甚至用来告诉认浏览器打开 URL 是什么意思,所以我什至不知道从哪里开始调查它),但据说它会获取当前打开的选项卡的 URL,这就足够了。但是,当我尝试它时它不起作用,我不知道为什么。 (注意:我在 Windows 10 上运行 Firefox。)

$ShellWindows = (New-Object -ComObject Shell.Application).Windows()
($shellwindows | ? {$_.locationurl -like "httP*"}).locationURL

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)