python-3.x - requests.post 发出 get 请求

标签 python-3.x python-requests

我调用 requests.post 但它最终发出 GET 请求。

post_body="""
{
...
}
"""
headers = {'Content-type': 'application/json', 'Accept': 'application/json'}
post_response = requests.post("https://...", data=post_body, headers=headers)
print(post_response.request.method)

最后一个打印语句打印“GET”。我希望看到“POST”。

为了进一步调试,我更改了代码,如下所示:

req = requests.Request('POST', "https://...", data=booking_body, headers=headers)
prepared = req.prepare
print(prepared.method) // "POST"
s = requests.Session()
post_response = s.send(prepared)
print(post_response.request.method) // "GET"

打印语句打印“POST”和“GET”。我做错了什么?

附注:

$ python3 -V
Python 3.7.0

最佳答案

正如评论中所述,问题在于重定向。该调用最初是对 http://... 进行的,然后重定向到 https://...。因此,最后一个方法是 GET

首次调用 https://... 后,问题就得到解决。

关于python-3.x - requests.post 发出 get 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63678610/

相关文章:

python - 复杂的排序,使用 cmp 函数很容易完成,但我如何为 Python 3 做计划?

python - 如何将 beautifulsoup 文本转换为列表或可迭代对象

Python:请求模块使用 Gevent 抛出异常

python请求POST 400错误

使用 HTTPAdapter 的 Python 请求暂停数小时

python - Python请求-临时端口耗尽

python - 如何循环遍历一个字符串并返回一个在特定字符处停止的新字符串

python - 通过 Homebrew 使用 python2 和 python3 的 virtualenv

python - 抓取用 Javascript 加载的分页数据

python - Pandas groupby 获得平均一天