我办公室有WI-FI网络,需要使用强制门户登录(需要使用用户名和密码登录)。
我想以某种方式运行一个脚本,该脚本在连接到网络后即自动登录(而无需启动浏览器并保持打开状态)。
奇怪的是,我设法找到了一个适用于Android的客户端(不再可用的CoovaAX),但找不到适用于Windows 的客户端(如果有的话,我有Windows 7)。
有人对此有一个简单的解决方案吗?我宁愿不必花费时间来为此编写自己的工具。
我办公室有WI-FI网络,需要使用强制门户登录(需要使用用户名和密码登录)。
我想以某种方式运行一个脚本,该脚本在连接到网络后即自动登录(而无需启动浏览器并保持打开状态)。
奇怪的是,我设法找到了一个适用于Android的客户端(不再可用的CoovaAX),但找不到适用于Windows 的客户端(如果有的话,我有Windows 7)。
有人对此有一个简单的解决方案吗?我宁愿不必花费时间来为此编写自己的工具。
Answers:
我不了解简单...我使用一个名为webinject.pl的工具来测试网站。这是一个perl脚本,可让您指定输入和预期结果,并且可以为此轻松配置。使它工作可能需要一个小时。
至于如何使其自动化。Windows Task Scheduler非常强大,可以触发许多事件。您可以将其绑定到登录事件或事件日志条目,或者仅使其每5分钟运行一次(这很痛苦)。例如,建立网络连接时,系统日志中出现事件32。那可能会做到。
您可以将lynx(具有SSL支持的版本)(基于文本的浏览器)与cmd_args
包含登录所需命令的脚本文件一起使用。您可以通过使用lynx登录到wifi一次并记录输入来生成此类脚本文件。为此,请使用以下参数调用lynx:
lynx.exe -cmd_log =%USERPROFILE%\ lynxlog.txt`
然后,您可以重命名该文件并通过如下调用lynx来使用它:
lynx.exe -cmd_script = FILENAME_HERE
将其放在批处理文件中。(要么使用lynx可执行文件的完整路径,要么在PATH环境变量中设置该路径。)
一旦完成工作,就10000
在NetworkProfile
日志源中创建一个由事件ID触发的计划任务,该任务将Microsoft-Windows-NetworkProfile/Operational
其调用:
就我个人而言,我将其捆绑在一起iexpress.exe
以使其在后台运行,并确保计划的任务设置为即使我未登录也可以运行。几周前,我刚刚在计算机上进行了设置,效果很好!
来源:关于如何自动执行强制门户登录的文章。
我过去使用Windows任务计划程序和php + mysqllite脚本来完成此操作。php + mysqllite脚本只是检查它是否可以到达google,如果它被重定向了,它会检查它是否具有用于它被重定向到的域的例程,如果可以,则运行它。mysqllite是为我在php中实现的无头浏览器保留cookie。仅使用等效的滑脂猴子进行登录的工作量可能会少很多。(不利的一面是,每次调度程序被触发时,浏览器都会弹出并执行操作。)
任务计划程序触发器因计算机而异。我有一台笔记本电脑将wifi连接记录为事件,并且其中包含ssid,因此我可以进行过滤以仅触发我关心的笔记本电脑。
在我当前的笔记本电脑上,似乎唯一可以可靠触发的事件是DHCP客户端连接。当然,每当我获得一个IP地址并且不告诉我SSID时,它就会炸掉。
您可以使用Windows事件查看器检查哪些事件可用于触发。我刚刚打开和关闭wifi 3次,并检查了在过去一个小时内触发了3次什么事件。