用python写了一个网关登陆脚本。 就是模拟网关登陆页面向服务器发送数据验证进行登陆。 代码如下:
import base64, requests, json, sys def logGateway(): url = 'http://a.suda.edu.cn/index.php/index/login' #data1是一个字典数组,存放用于发送给服务器的数据 data1 = {} #获取用户名与密码参数 uname = sys.argv[1] pword = sys.argv[2] #由于网关的页面对密码是进行base64加密后传输的,这里也要同样的模拟加密 modifyPassword = base64.b64encode(pword) data1['username'] = uname data1['password'] = modifyPassword headers1 = {'Host': 'a.suda.edu.cn', 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:43.0) Gecko/20100101 Firefox/43.0', 'Accept': 'application/json, text/javascript, */*; q=0.01', 'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3', 'Accept-Encoding': 'gzip, deflate', 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', 'X-Requested-With': 'XMLHttpRequest', 'Referer': 'http://a.suda.edu.cn/index.php?url=aHR0cDovL3dnLnN1ZGEuZWR1LmNuLw==', 'Content-Length': '53', 'Connection': 'keep-alive', } #向服务器端提交数据,返回的结果由r保存 r = requests.post(url, data=data1, headers=headers1) print r.text if __name__ == '__main__': logGateway()