Contents
  1. 1. 网页登录时的后台动作
  2. 2. 用Shell复现浏览器动作
  3. 3. 登出

  校园网关登录的常规方式是打开浏览器打开任意(百度)网址,就会自动重定向到登录页面,输入用户名密码即可。但是对于远程Linux服务器或者实验用的虚拟机来说,通常是没有浏览器或者Xserver的,那么就只能用脚本来登录了。

  校内论坛上有同学早些时候放出的版本,但是已经失效了,应该是登录页更新所致,粗略一看脚本并不复杂,所以不如自己搞一个。

网页登录时的后台动作

  祭出Chrome,看看在点击登录按钮时,浏览器做了什么(省去查看网页代码的麻烦)。

  用Chrome打开登录页,按F12打开页面审查,切换到network页,输入用户名&密码点击登录:



  第一行的POST就是登录发送的数据了,点击查看详情:

  只需要注意Request URL和Form Data部分,Request URL:http://10.3.8.211/就是POST的目标地址,

1
2
3
DDDDD:xxxxxxx(UserID)
upass:******(password)
0MKKey:

就是POST发送的数据了。

用Shell复现浏览器动作

  既然如此简单,那么用shell完成就很直接了,用我比较熟悉的curl命令

1
curl --silent -d 'DDDDD=用户名&upass=密码&AMKKey=' 10.3.8.211

  登录完成,就是如此简单!当然如果不想看到输出的大段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来读入密码。

Contents
  1. 1. 网页登录时的后台动作
  2. 2. 用Shell复现浏览器动作
  3. 3. 登出