Python 提交表单与session维持,cookie保存的问题
最近在编写一个python脚本时遇到的问题login time 1670326227898
ASP.NET_SessionId=i3zlt05rz3cszvsyet5mxv4g '这里是获取到登录时的验证码的session'
login header{'User-Agent': 'Mozilla/5.0(Linux;Android 6.0;Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Mobile Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': 'ASP.NET_SessionId=i3zlt05rz3cszvsyet5mxv4g'}
RawLoginCode save success
rhps
'这里提交完账号密码与正确的验证码 成功获取到 CenterSoftWeb的value'
wait for post
POST code time 1670326260017
ASP.NET_SessionId=qvfuwkob5qypkfuffs3zt4ku '这里是登录后准备POST表单时的session'
code save success
CenterSoftWeb=value; ASP.NET_SessionId=qvfuwkob5qypkfuffs3zt4ku '则此Cookie为post时的最终cookie'
en8v
POST header{'User-Agent': 'Mozilla/5.0(Linux;Android 6.0;Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Mobile Safari/537.36', 'Content-Type': 'application/x-www-form-urlencoded', 'Connection': 'keep-alive', 'Cookie': 'CenterSoftWeb=value; ASP.NET_SessionId=qvfuwkob5qypkfuffs3zt4ku'}
'结果为验证码过期 情况与未获取session并附带在cookie时登录提交验证码的返回结果一样'
以上为我代码实现过程,遇到的问题是 验证码与表单内容一同提交时 验证码已过期,而登录账号时并不会验证码已过期
此脚本分为两个过程,一:提交验证码与验证码 与session一同提交获取到cookie(cookie中包括session) 二:进入后填写表单 并 再次填入验证码与session(第二个验证码的session不一样) 一同附带cookie提交实现脚本功能
此验证码是通过10位时间戳来生成的
谢谢 解答 交流 学习!
你最好把代码拿上来,把关键的域名等信息隐掉,这写的和天书差不多,解答了也不一定能对。
另外requests库的cookie你可以不用手动去维护的:
import requests
session = requests.Session()
res = session.get('https://xxx.com/login', json={})
print(res.json())
res = session.post('https://xxx.com/login', json={})
print(res.json())
用requests库的Session, 可以自动处理cookie等信息并保持连接 三滑稽甲苯 发表于 2022-12-7 08:54
用requests库的Session, 可以自动处理cookie等信息并保持连接
requests.Session()是吧 意思是获取验证码时的session要和提交表单的时候的session一致 两个过程使用同一个session函数取得的session amoxuk 发表于 2022-12-6 23:49
你最好把代码拿上来,把关键的域名等信息隐掉,这写的和天书差不多,解答了也不一定能对。
另外requests库 ...
同一个requests.Session()在获取后 登录账号后 这个都不会变么?只需要使用.get(url)来维持此次会话? 余吉233 发表于 2022-12-7 10:08
同一个requests.Session()在获取后 登录账号后 这个都不会变么?只需要使用.get(url)来维持此次会话?
登陆账户成功之后,应该会收到新的set cookie的消息,它会自动更新的。
维持会话的话只要你发消息了应该都有更新的,post get 都可以,超时时间得看后端配置的多长 amoxuk 发表于 2022-12-7 20:21
登陆账户成功之后,应该会收到新的set cookie的消息,它会自动更新的。
维持会话的话只要你发消息了应该 ...
如果我一个session想维持久 但会连接超时 我只能再次创建一个session咋办 相当于retried 余吉233 发表于 2022-12-8 12:40
如果我一个session想维持久 但会连接超时 我只能再次创建一个session咋办 相当于retried
再登陆一次就可以了啊 amoxuk 发表于 2022-12-8 20:42
再登陆一次就可以了啊
session存活时间很短,我使用登录后的session来进行post 后面到了第二次需要使用这个session的时候 服务器那端已经变化了
页:
[1]