本文以学习通为例,来实际应用session(没有学习通的小伙伴可以自己去找一个登录页面,但要尽量找一个表单数据(下面提到了)没有变化的来实验,因为简单)
1.首先我们新建隐身窗口(无痕模式)进入学习通登录页面的网址:
2.开始抓包,输入账号密码登录进入
3.在所抓的包中找到fanyalogin包
4.找到其中的User-Agent记录下来,headers中会用到。
5.同时记录下该包的表单数据(如下图 ):
6.重复上述1 2 3 5步骤,对比两次记录的表单数据有哪些是不同的,由此可以看出两次的数据一致(马赛克部分为你的账号密码),数据一致证明数据为固定值(账号密码为输入值),可以直接放入data中构建data字典。
7.把该包的网址记录下来作为登录url,同时可以在该包中看到请求类型为post类型。
8.在登录成功的页面找到账号管理点击进入,并记录下其网址作为验证url,登录成功其title为:
账号管理---xx大学安全教育平台,若打开一个新页面,输入网址,则其title为:用户登录。
下面直接上代码:
import requests def login(): session = requests.session() session.headers = { 'User-Agent': '改为你的user-agent' } # 登录url url = 'https://passport2.chaoxing.com/fanyalogin' data = { 'fid': '129838', 'uname': '改为你的账号', 'password': '改为你的密码', 'refer': 'http%3A%2F%2Fysdxaqjy.aqjy.chaoxing.com', 't': 'true' } session.post(url, data=data) # 验证url2 url2 = 'http://i.mooc.chaoxing.com/settings/info?t=1637052365105' response = session.get(url2) with open('xxt.html', 'wb')as f: f.write(response.content) if __name__ == '__main__': login()
结果:
通过结果可以看到,登录成功了。以上就是session:状态保持的实战应用。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试