暑假一放就闲的蛋疼,正好学校的学分制网址被整合进了信息门户里,以前的一键评教网站失效了,我就琢磨着自己拿出500年前学过的python来试试能不能做成一个一键评教程序。
万变不离其宗,首先得分析一下信息门户的登陆方法:
信息门户的网址:http://my.nuist.edu.cn/
F12打开network,勾选Preserve log
先拿我自己的账号登陆试试。
果然,发现了登陆用的POST请求
打开来看看。。。
General中得到登陆的网址和方法:
返回头:
请求头:
请求DATA:
分析一下:请求头没啥特殊的,毕竟第一次登陆除了账号密码也没有什么能给出去的东西;请求的DATA照搬就行;返回头返回了一个Set-Cookie,里面有个‘iPlanetDirectoryPro’,这个估计就是我们想要的Cookie了(后面登陆学分制网站要用)。
模拟登陆的思路:使用requests库中的post方法,把DATA发送给登陆用的网址(http://my.nuist.edu.cn/userPasswordValidate.portal),就会在返回头中返回登陆用的Cookie啦,还是很轻松的。
代码就几句
Login_url = 'http://my.nuist.edu.cn/userPasswordValidate.portal'
headers = {'User-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/60.0.3112.113 Safari/537.36'}
post_data = {
'Login.Token1': account,
'Login.Token2': password,
'goto': 'http://my.nuist.edu.cn/loginSuccess.portal',
'gotoOnFail': 'http://my.nuist.edu.cn/loginFailure.portal'
}
#登陆
response = requests.post(Login_url,data=post_data,headers=headers)
未完待续