在学校上网要登录网关,每天都要打开浏览器输入账号密码才能连上网很麻烦,所以想找个方法开机自动登录网关。
诉求是尽可能的简单,不要再安装额外的乱七八糟的东西,所以最终选择了最简单的wget来实现~
当我登录网关的时候浏览器在干什么
首先,我要知道登录网关的时候到底发生了什么,打开chrome,到登录页面去输入了用户名和密码,然后点登录,在开发者工具(F12)里可以看到,登录的时候使用的是POST方式,formdata的格式是
DDDDD=学号&upass=密码&0MKKey=
那我们要做的事情就很清晰了:模仿浏览器,发一个post请求给网关
如何使用wget
1. wget的准备工作
wget上是一个命令行下载工具,要使用它,要先去这里下载一个windows下可用的版本。
把下载好的wget.exe文件放到C:\Windows\System32目录下就可以用了。
去命令行下用<code>wget -V</code>来测试一下,如果出现wget信息则wget命令就可以正常使用了。
2. 用wget发送post请求
使用wget发送post请求很简单,使用<code>wget --post-data</code>命令就可以了,根据我之前用开发者工具得到的数据,把data补充完整即可,具体命令如下:
wget --post-data="DDDDD=学号&upass=密码&0MKKey=" http://10.3.8.211
回到登录页面上看一看,已经登录成功了。
把命令写成开机自动运行的脚本
1. 编写bat和vbs脚本
把刚刚的命令保存成为一个loginnet.bat文件,保存到C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup路径。
但是直接运行bat脚本会有一个一闪而过的窗口,不太好看,所以我们再写一个loginnet.vbs文件,来解决这个问题。
//loginnet.vbs文件
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup\loginnet.bat /start",0
最后那个参数0,就起到了隐藏窗口的效果。
把loginnet.vbs文件也放到同样的路径下。
2. 设置开机启动项
单击开始,查找<code>gpedit.msc</code>,回车打开本地组策略编辑器。
计算机配置 - Windows设置 - 脚本(启动/关机)
添加启动的脚本,把之前写好的loginnet.vbs添加进来。
结束语
下次开机的时候就可以自动登录网关啦!简直轻松又愉快~