Shell登录校园网关
Contents
校园网关登录的常规方式是打开浏览器打开任意(百度)网址,就会自动重定向到登录页面,输入用户名密码即可。但是对于远程Linux服务器或者实验用的虚拟机来说,通常是没有浏览器或者Xserver的,那么就只能用脚本来登录了。
校内论坛上有同学早些时候放出的版本,但是已经失效了,应该是登录页更新所致,粗略一看脚本并不复杂,所以不如自己搞一个。
网页登录时的后台动作
祭出Chrome,看看在点击登录按钮时,浏览器做了什么(省去查看网页代码的麻烦)。
用Chrome打开登录页,按F12打开页面审查,切换到network页,输入用户名&密码点击登录:

只需要注意Request URL和Form Data部分,Request URL:http://10.3.8.211/就是POST的目标地址,123DDDDD:xxxxxxx(UserID)upass:******(password)0MKKey:
就是POST发送的数据了。
用Shell复现浏览器动作
既然如此简单,那么用shell完成就很直接了,用我比较熟悉的curl命令
|
|
登录完成,就是如此简单!当然如果不想看到输出的大段html,可以将其 > /dev/null。
登出
那么Logout又是如何完成呢?同样的办法再操作一遍。

可以看到Logout更加简单,只是Get了一下Request URL:http://10.3.8.211/F.htm
那么用Shell里只需curl 10.3.8.211/F.htm
就OK了。
当然,如果要将login&logout合写成一个脚本的话,加入脚本参数和if else就可以了,如果不想保存密码可以使用read -s来读入密码。

