session与cookie使用记录
许多时候会遇到一些页面需要登录后才能查看,这时可能会需要用到
session
服务。
seesion登录方式
首先定义好header格式:1
2
3
4
5
6
7headers = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8',
'Accept-Encoding':'gzip, deflate',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36',
'Referer':'https://superbear.cc/clientarea.php',
'Connection':'keep-alive'}
然后生成session
对象s,将headers
放入该对象内:1
2s = requests.session() # 可以在多次访问中保留cookie
s.headers.update(headers)
接下来就可以登录了:1
s.post("https://superbear.cc/dologin.php", {'username':'@qq.com', 'password': '12345'})
如果不想使用s.headers.update(headers)
的话,也可以通过1
2s.post("https://superbear.cc/dologin.php", {'username':'@qq.com', 'password': '12345'}, headers=headers) # POST帐号和密码,设置headers
r = s.get("https://superbear.cc/modules/servers/solusvmpro/get_client_data.php?vserverid=438&_=1554179275325") # 已经是登录状态了
把header放到post里边的形式
读取cookies
频繁的进行登录操作,可能会被视作异常行为。所以可以把cookies
保存下来,每次调用的时候直接读取cookies
即可。请求的时候检查返回内容,如果内容提示未授权,则重新登录获得新的cookies
。
1 | with open('superbear.cookie', 'rb') as f: |
发送
使用server酱或者邮件发送jike
session与cookie使用记录