吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1102|回复: 8
收起左侧

[求助] Python 提交表单与session维持,cookie保存的问题

[复制链接]
余吉233 发表于 2022-12-6 19:50
25吾爱币
最近在编写一个python脚本时遇到的问题
[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位时间戳来生成的
谢谢 解答 交流 学习!


发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

amoxuk 发表于 2022-12-6 23:49
你最好把代码拿上来,把关键的域名等信息隐掉,这写的和天书差不多,解答了也不一定能对。
另外requests库的cookie你可以不用手动去维护的:
[Python] 纯文本查看 复制代码
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())

免费评分

参与人数 2热心值 +2 收起 理由
余吉233 + 1 我很赞同!
overlords + 1 我很赞同!

查看全部评分

三滑稽甲苯 发表于 2022-12-7 08:54
用requests库的Session, 可以自动处理cookie等信息并保持连接

免费评分

参与人数 1吾爱币 +1 收起 理由
余吉233 + 1 热心回复!

查看全部评分

 楼主| 余吉233 发表于 2022-12-7 09:53
三滑稽甲苯 发表于 2022-12-7 08:54
用requests库的Session, 可以自动处理cookie等信息并保持连接

requests.Session()是吧 意思是获取验证码时的session要和提交表单的时候的session一致 两个过程使用同一个session函数取得的session
 楼主| 余吉233 发表于 2022-12-7 10:08
amoxuk 发表于 2022-12-6 23:49
你最好把代码拿上来,把关键的域名等信息隐掉,这写的和天书差不多,解答了也不一定能对。
另外requests库 ...

同一个requests.Session()在获取后 登录账号后 这个都不会变么?只需要使用.get(url)来维持此次会话?
amoxuk 发表于 2022-12-7 20:21
余吉233 发表于 2022-12-7 10:08
同一个requests.Session()在获取后 登录账号后 这个都不会变么?只需要使用.get(url)来维持此次会话?

登陆账户成功之后,应该会收到新的set cookie的消息,它会自动更新的。
维持会话的话只要你发消息了应该都有更新的,post get 都可以,超时时间得看后端配置的多长
 楼主| 余吉233 发表于 2022-12-8 12:40
amoxuk 发表于 2022-12-7 20:21
登陆账户成功之后,应该会收到新的set cookie的消息,它会自动更新的。
维持会话的话只要你发消息了应该 ...

如果我一个session想维持久 但会连接超时 我只能再次创建一个session咋办 相当于retried
amoxuk 发表于 2022-12-8 20:42
余吉233 发表于 2022-12-8 12:40
如果我一个session想维持久 但会连接超时 我只能再次创建一个session咋办 相当于retried

再登陆一次就可以了啊
 楼主| 余吉233 发表于 2022-12-11 18:49
amoxuk 发表于 2022-12-8 20:42
再登陆一次就可以了啊

session存活时间很短,我使用登录后的session来进行post 后面到了第二次需要使用这个session的时候 服务器那端已经变化了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-3 11:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表