首页 新闻 会员 周边

Python post返回出错

0
[已解决问题] 解决于 2024-04-29 10:29

我通过resqusts发送了一个post请求,返回的却是get的请求结果。当我通过浏览器访问时,又是正常的post请求结果。请问这是怎么回事?

等月亮爬上坡的主页 等月亮爬上坡 | 初学一级 | 园豆:110
提问于:2024-04-28 09:19
< >
分享
最佳答案
0

如果你通过 requests 库发送 POST 请求,但是得到的结果却是 GET 请求的结果,这可能有几个原因:

使用了错误的请求方法: 确保你在使用 requests.post() 方法发送 POST 请求,而不是 requests.get() 方法。
python
Copy code
import requests

正确的 POST 请求

response = requests.post('https://example.com/api', data={'key': 'value'})
可能存在重定向: 如果服务器返回了重定向响应 (状态码为 3xx),而且 requests 库默认会自动跟随重定向。在这种情况下,原本的 POST 请求可能会变成 GET 请求。你可以通过设置 allow_redirects 参数为 False 来禁止自动重定向,然后查看响应的状态码,以确定是否存在重定向。
python
Copy code
import requests

response = requests.post('https://example.com/api', data={'key': 'value'}, allow_redirects=False)
print(response.status_code) # 打印响应的状态码
服务器端可能存在问题: 如果以上两种情况都没有问题,那么可能是服务器端的配置或处理逻辑导致的问题。在这种情况下,你需要进一步检查服务器端的日志或与服务器端的开发人员联系,以了解发生了什么问题。
确保你的代码正确发送 POST 请求,并根据上述可能的原因之一检查问题所在。

奖励园豆:5
Technologyforgood | 大侠五级 |园豆:5992 | 2024-04-28 22:49

是的,发生了重定向。你这么一说,我才找到错误原因。谢谢啦

等月亮爬上坡 | 园豆:110 (初学一级) | 2024-04-29 10:01

post 请求发生了重定向。但是重定向的请求依旧是原网页,只不过post变成了get。这是怎么回事呢?

等月亮爬上坡 | 园豆:110 (初学一级) | 2024-04-29 10:09

抱歉抱歉,网址换了个字母。重定向到了新资源。我没发现。换了新url就OK了

等月亮爬上坡 | 园豆:110 (初学一级) | 2024-04-29 10:29
其他回答(1)
0

?你的说法很不合逻辑啊,是不是后台接口逻辑出问题了

人间春风意 | 园豆:2370 (老鸟四级) | 2024-04-29 08:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册