请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师 我已经模拟了加密密码登陆还是失败了

已经本地生成私钥 对密码进行加密 且携带了 token 发起post请求
响应403 csrf验证失败

正在回答

3回答

登录了以后,是要跳转的,POST请求的登录页面跳到了index,这里要用session:

session = requests.session()
session.post(login_url,data=data)
response = session.get(index_url)

-------补充-------

这里的403 csrf验证失败是由于cookie的问题,后面的4-14、4-15,老师有代码分析,不明白的同学建议往后看。

1 回复 有任何疑惑可以回复我~
  • 提问者 花王子 #1
    非常感谢!跳转还是要用session哦
    回复 有任何疑惑可以回复我~ 2021-08-18 18:14:24
  • 这个解决方法可以。
    回复 有任何疑惑可以回复我~ 2021-08-18 20:21:55
小布_老师 2021-08-18 20:23:46

403是因为请求头中没有token。token一共要加两个地方,一个是请求头中的cookie,另一个是表单中的token。

requests的Session会话,会自动记录请求头的Cookie信息,可以自动解决。

0 回复 有任何疑惑可以回复我~
  • 提问者 花王子 #1
    如果使用requests.post()  加在请求头中的 "Cookie": "csrftoken={}".format(token) 和 表单中的token 是同一个值吗?
    回复 有任何疑惑可以回复我~ 2021-08-18 21:55:58
  • 小布_老师 回复 提问者 花王子 #2
    在这里不是同一个值。不同网站不同分析,要去网站躲避对比
    回复 有任何疑惑可以回复我~ 2021-08-18 21:57:07
  • 提问者 花王子 回复 小布_老师 #3
    请求头的token值 只在响应头 Set-Cookie 里看到了同样的值,那我需要先获取 Set-Cookie 的值再继续请求哈? 可是用resp.headers 没看到 Set-Cookie
    回复 有任何疑惑可以回复我~ 2021-08-18 22:01:41
小布_老师 2021-08-09 07:59:03

请求头中,检查一下是否携带了token,

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信