postman 自动重定向地址问题, 301 Moved Permanently

最近公司在对接一家英国的服务商 接口地址为: https://XXX.app/API?testMode=1

在对接这家公司的api接口的时候遇到了一点问题,甚是头疼,现在就把经历记录下来

当我在调试他们接口的时候,优先使用样例数据和测试环境的地址使用postman进行post json 请求, 但是得到的结果是 {"result":"Invalid request - Empty request"} ,无论我如何改变参数,得到的结果永远都是

{"result":"Invalid request - Empty request"}  根据返回结果可以看出是说我的请求为空,没有数据,可是我明明传了参数呀

 

于是,开始跟老外不停的沟通,由于时差的造成这个问题耽搁了1-2天

第三天的时候 我就突发奇想用代码http手动请求一下试试, 果然,得到的错误变了

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>301 Moved Permanently</title></head><body><h1>Moved Permanently</h1><p>The document has moved <a href="http://XXXX.app/API/?testMode=1">here</a>.</p></body></html>

其中让人注意的部分当然是 

301 Moved Permanently  <a href="http://XXXX.app/API/?testMode=1">

很显然, 是https://XXX.app/API?testMode=1这个地址已经被重定向了 而新的地址是 https://XXX.app/API/?testMode=1   这两个的差别是 API后面多了一个/

于是又多看了一眼文档,果然我的请求地址 少了 https://XXX.app/API?testMode=1    的API后面的/

使用https://XXX.app/API/?testMode=1 地址请求可以正常通了

 

那么问题来了 为什么postman 返回{"result":"Invalid request - Empty request"}  ??

通过网络找到了答案

在用postman请求接口时,如果接口重定向到其它url,postman也会自动跳转到该url。如果想看到这个url,需要关闭自动重定向功能:

多一嘴: 而且重定向后 没有把参数传过去,所以我请求的接口返回的 Empty request

打开右上角的Settings设置界面,关闭Automatically follow redirects即可。
再次请求,不会自动跳转,在响应头的Location中看到重定向的url

设置postman结果来自  关闭 postman的重定向 - 测试一枚 - 博客园 (cnblogs.com)

 

总结出现301 的解决方案

检查url !!!

posted @ 2022-09-30 16:01  loveCrane  阅读(2301)  评论(0编辑  收藏  举报