了解Python请求库的人请进 - Q:我是不是做错了?

biocoonalin1985

New member
我是做错了吗?我在第一个GET请求中找到了CSRF令牌,在下一个POST请求中提供了它,但仍然显示CSRF令牌失败。我在请求中使用了会话。
 
你是使用相同的会话还是每次请求都清空会话?这可能是问题所在。尝试配置浏览器在后续请求中使用现有配置文件。编辑:这样做应该可以:https://stackoverflow.com/a/67389309/1437261。
 

yhconsica1983

New member
由于这是关于 requests 的,你需要为所有请求事务使用一个持久的会话:导入 requests 库后,创建一个 Session 对象,使用 get 和 post 方法来发送请求,附带请求头和请求数据。
 

homemamar1988

New member
“导入requests s = requests.Session() resp_get = s.get(your_get_url,headers = your_get_headers) resp_post = s.post(your_post_url,headers = your_post_headers,data = your_post_data)哈哈,我完全以为他在使用selenium。但是,对于requests,相同的概念也适用。并且通过使用相同的会话,您也可以发送相同的cookies。因此,相同的解决方案也应该适用于您的情况。”
 

pebernicho1981

New member
对此并没有太多线索……Stackoverflow和Youtube是您的朋友,但如果您仍然遇到问题,如果隐私是一个问题,我可以通过私信尝试帮助您。
 

fromemmesor1982

New member
即使在将令牌包含在POST请求中后仍出现CSRF令牌失败错误,您可能正在做某些错误的事情或服务器端实现可能存在问题。请仔细检查您是否使用了正确的令牌并检查服务器端代码是否存在问题。
 

itunifeb1982

New member
将您的代码粘贴到ChatGPT中,它会告诉您是否有错误。它不总是完美的,但当我需要一个很棒的请求脚本时,它写得很好。
 

mueripgisur1970

New member
我实际上是在网站上首先进行GET请求并收集令牌,保存会话和cookies,然后进行POST请求,这对我很有效。
 
顶部