用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()