Python请求POST命令未遵循302重定向 - python

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

我已经检查了Fiddler中的行为,可以看到POST请求通过302重定向成功返回。但是,请求继续等待,即使数据包已返回,请求也永远不会继续。

我坚持如何诊断此问题,因为我没有得到任何可靠的错误,并且数据包似乎返回了,任何帮助将不胜感激。

发布请求的构建如下:

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

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

这是Fiddler中的请求和响应:

Python请求POST命令未遵循302重定向 - python

更新标题详细信息:

'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请求,这也挂起了。

python大神给出的解决方案

您可以尝试使用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,以将其重定向到标头中的“ Location”值。如上所示,您将在Response对象字典中找到它。

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

Python pytz时区函数返回的时区为9分钟 - python

由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…

Python sqlite3数据库已锁定 - python

我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…

用大写字母拆分字符串,但忽略AAA Python Regex - python

我的正则表达式:vendor = "MyNameIsJoe. I'mWorkerInAAAinc." ven = re.split(r'(?<=[a-z])[A-Z]|[A-Z](?=[a-z])', vendor) 以大写字母分割字符串,例如:'我的名字是乔。 I'mWorkerInAAAinc”变成…

Python:同时在for循环中添加到列表列表 - python

我想用for循环外的0索引值创建一个新列表,然后使用for循环添加到相同的列表。我的玩具示例是:import random data = ['t1', 't2', 't3'] masterlist = [['col1', 'animal1', 'an…

查找字符串中的行数 - python

我正在创建一个python电影播放器​​/制作器,我想在多行字符串中找到行数。我想知道是否有任何内置函数或可以编写代码的函数来做到这一点:x = """ line1 line2 """ getLines(x) python大神给出的解决方案 如果换行符是'\n',则nlines …