我见过一些其他问题,它们向您展示如何使用 bash 连接到网络,但我还没有看到任何使用 Linux 从命令行连接到强制门户网络的内容。
有没有办法在不处于图形模式/没有窗口管理器的情况下登录强制门户?
答案1
由于底层/Os 不谈论 WISpr/不运行程序来处理强制门户,因此要在命令行中连接到强制门户,您只需要一个浏览器或脚本。
可能的解决方案之一是使用 lynx,一种文本模式浏览器。
它适用于大多数强制门户,并允许您输入登录名和密码以在强制门户中进行身份验证。我不确定它是否支持 WISpr(即一些罕见的门户网站强制要求 WISpr)
过去也有 FON 的 bash 脚本,但现在它们已经不起作用了。如https://gist.github.com/cusspvz/3ab1ea9110f4ef87f0d2e1cd134aca67或者这个https://gist.github.com/itay-grudev/d3d4eb0dc4e239d96c84
可以在 python 中看到如何编写此类脚本的好线索。但是,您必须根据您的特定需求进行调整。
https://github.com/Palakis/fortilogin
然而对于大多数门户网站来说,lynx 都很好。
查看相关问题使用 Apache 的强制门户
要了解我正在谈论的 WISpr 标签是什么,请参阅从 FON 身份验证门户获取 WISPr 标签
对于阅读此问题的其他人,为了能够在 Mac 中测试 Chrome、Firefox 或 lynx 等浏览器在门户中进行身份验证,您需要禁用 CNA。查看相关在 MacOS 中禁用 CNA
PS 除了主要电信公司和一些无线供应商(如 Ruckus)(以及一些现成的强制门户(如 PfSense 和 CoovaChili))之外,强制门户的许多(重新)实现仅实现强制/重定向部分,而不实现WISpr。
Apple、Windows、Android 和 iOS 自动处理强制门户只会增加许多人的困惑,他们不知道在不太复杂的系统中如何处理强制门户,因为它们在更复杂的系统中具有很好的抽象层。
要处理未检测到系统中的强制门户,您需要打开浏览器并点击重新加载/尝试打开网页,以显示接受提供商条款/服务条款和/或进行身份验证的页面。