gpt4 book ai didi

Python 请求 POST 命令不遵循 302 重定向

转载 作者:太空宇宙 更新时间:2023-11-03 20:54:52 25 4
gpt4 key购买 nike

通过请求将 POST 请求传递到网站时,无法完成并且将无限期等待。

我检查了 Fiddler 中的行为,可以看到 POST 请求已通过 302 重定向成功返回。然而,尽管数据包已返回,但请求仍会继续等待并且永远不会继续。

我被困在如何诊断这个问题上,因为我没有得到任何可靠的错误,并且数据包似乎返回,任何帮助将不胜感激。

post请求的构建如下:

loginData = 'data=45B892A0F9C127FB0A052CB&cid=1000'
s.post(url, verify=rVerify, headers=headers, data=loginData)

我尝试过将allow_redirects设置为True和False,但没有成功。

以下是 Fiddler 中的请求和响应:

fiddler result

更新 header 详细信息:

'User-Agent': 'Mozilla/5.0'
'Content-Type': 'application/x-www-form-urlencoded'
'Connection': 'Keep-Alive'
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
'Accept-Language': 'en-US,en;q=0.5'
'Accept-Encoding': 'gzip, deflate, br'

更新:

  • 我仅使用 URL 进行了测试,命令仍然会挂起。
  • 我也尝试过 GET 请求,但也挂起。

最佳答案

您可以尝试使用 POST 对象手动重定向 302 返回的下一个 URL。

loginData = 'data=45B892A0F9C127FB0A052CB&cid=1000'
response = s.post(url, verify=rVerify, headers=headers, data=loginData)

next_url = response['location']

# do your next step here using the returned URL

302 应该返回一个 URL 以在 header 中重定向到“Location”的值。如上所示,您将在响应对象字典中找到它。

来源:https://en.wikipedia.org/wiki/HTTP_302 , https://2.python-requests.org/en/master/api/#requests.Response

关于Python 请求 POST 命令不遵循 302 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56085997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com