如何在Windows中通过强制门户自动登录网络?


15

我办公室有WI-FI网络,需要使用强制门户登录(需要使用用户名和密码登录)。

我想以某种方式运行一个脚本,该脚本在连接到网络后即自动登录(而无需启动浏览器并保持打开状态)。

奇怪的是,我设法找到了一个适用于Android的客户端(不再可用的CoovaAX),但找不到适用于Windows 的客户端(如果有的话,我有Windows 7)。

有人对此有一个简单的解决方案吗?我宁愿不必花费时间来为此编写自己的工具。


在过去的两年中,有没有人发布过解决该问题的程序?存在适用于Android的合理解决方案(play.google.com/store/apps/…)和iOS。
Jess Riedel 2014年

另外,Meta:我如何引起对此问题的关注?我不能问自己的版本,因为它是重复版本,但是这里的答案已经完全过时了,我希望新鲜的眼睛看看。
杰西·里德尔

@JessRiedel我已经发布了一个新的答案,该答案现在可以使用,并且包括指向完整指南的链接。
Menasheh

Answers:


7

我不了解简单...我使用一个名为webinject.pl的工具来测试网站。这是一个perl脚本,可让您指定输入和预期结果,并且可以为此轻松配置。使它工作可能需要一个小时。

至于如何使其自动化。Windows Task Scheduler非常强大,可以触发许多事件。您可以将其绑定到登录事件或事件日志条目,或者仅使其每5分钟运行一次(这很痛苦)。例如,建立网络连接时,系统日志中出现事件32。那可能会做到。


谢谢。我不知道这是否可以完全解决我的问题,我想它可以连接到该站点并发送我的凭据,但是当我连接到公司的wifi网络时,我仍然需要自动将其启动。知道怎么做吗?我可以在Scheduler上接一个事件吗?
阿萨夫·斯通

我添加了更多有关触发它的细节。
uSlackr 2012年

@uSlackr您能提供用于此的代码吗?
卡梅伦

@Cameron哪个代码?该webinject.pl可以下载。XML配置文件将特定于您的用例。
uSlackr

是的,我可以将XML作为示例吗?谢谢
卡梅伦

5

您可以将lynx(具有SSL支持的版本)(基于文本的浏览器)与cmd_args包含登录所需命令的脚本文件一起使用。您可以通过使用lynx登录到wifi一次并记录输入来生成此类脚本文件。为此,请使用以下参数调用lynx:

lynx.exe -cmd_log =%USERPROFILE%\ lynxlog.txt`

然后,您可以重命名该文件并通过如下调用lynx来使用它:

lynx.exe -cmd_script = FILENAME_HERE

将其放在批处理文件中。(要么使用lynx可执行文件的完整路径,要么在PATH环境变量中设置该路径。)

一旦完成工作,就10000NetworkProfile日志源中创建一个由事件ID触发的计划任务,该任务将Microsoft-Windows-NetworkProfile/Operational其调用:

任务计划程序触发器示例

就我个人而言,我将其捆绑在一起iexpress.exe以使其在后台运行,并确保计划的任务设置为即使我未登录也可以运行。几周前,我刚刚在计算机上进行了设置,效果很好!

来源:关于如何自动执行强制门户登录的文章


1

我过去使用Windows任务计划程序和php + mysqllite脚本来完成此操作。php + mysqllite脚本只是检查它是否可以到达google,如果它被重定向了,它会检查它是否具有用于它被重定向到的域的例程,如果可以,则运行它。mysqllite是为我在php中实现的无头浏览器保留cookie。仅使用等效的滑脂猴子进行登录的工作量可能会少很多。(不利的一面是,每次调度程序被触发时,浏览器都会弹出并执行操作。)

任务计划程序触发器因计算机而异。我有一台笔记本电脑将wifi连接记录为事件,并且其中包含ssid,因此我可以进行过滤以仅触发我关心的笔记本电脑。

在我当前的笔记本电脑上,似乎唯一可以可靠触发的事件是DHCP客户端连接。当然,每当我获得一个IP地址并且不告诉我SSID时,它就会炸掉。

您可以使用Windows事件查看器检查哪些事件可用于触发。我刚刚打开和关闭wifi 3次,并检查了在过去一个小时内触发了3次什么事件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.