解决Postman发送Post请求被识别成Get请求
解决Postman发送Post请求被识别成Get请求
·
背景
我们项目启动后,本地发送请求,发现并不是get
原因分析
-
HTTP到HTTPS的重定向问题:
- 服务器(如Nginx)配置了HTTP到HTTPS的重定向(301或302),而浏览器或Postman在跟随重定向时,会将POST请求转换为GET请求。
- 例如:
http://example.com/api
重定向到https://example.com/api
,导致POST变GET。
-
Postman自动跟随重定向:
- Postman默认会跟随重定向(301/302/307/308),但301/302重定向会强制将POST转换为GET。
-
服务器端配置问题:
- Nginx/Apache等服务器的重定向规则未使用307/308(保留请求方法的重定向)。
我们正好遇到的是第一种情况:NGINX重定向了,转换成了https
解决
postman 直接使用HTTPS的URL
- 问题场景:postman 请求URL以
http://
开头,触发服务器重定向到HTTPS。 - 解决方法:在Postman中直接输入完整的HTTPS地址(如
https://123.com/api
),避免触发重定向。- 示例:将
http://123.com/api
改为https://123.com/api
。
- 示例:将
更多推荐
所有评论(0)