昨晚同事说之前给的接口不能get方式的,直接在ie浏览器访问返回404,说明是参数有问题。
同样的接口使用curl和postman请求都正常,其他ie之外的浏览器也都正常响应。
记录下排查过程:
问题1:url少写了/
这个/在开发中也是经常被遗忘,报出slash什么什么,看到这个单词就找url问题。
# url1(同事发过来的) http://smsabc123.com/api/sms?username=abc/&secret_key=Zered7ie/&body=【签名】内容123/&to=13312123434/&func=ss" # url2(正确的) http://smsabc123.com/api/sms/?username=abc/&secret_key=Zered7ie/&body=【签名】内容123/&to=13312123434/&func=ss"
问题2:curl使用时提示缺少参数
# 错误写法 curl http://smsabc123.com/api/sms/?username=abc&secret_key=Zered7ie&body=【签名】内容123&to=13312123434&func=ss # linux下直接curl 后跟上url get请求中参数连接符&需要转义下 curl http://smsabc123.com/api/sms/?username=abc\&secret_key=Zered7ie\&body=【签名】内容123\&to=13312123434\&func=ss # 或者加上引号,把url整个引起来 curl "http://smsabc123.com/api/sms/?username=abc&secret_key=Zered7ie&body=【签名】内容123&to=13312123434&func=ss"
最后,解决问题发现把从chrome浏览器上的url复制下来发现中文已编码,把已编译的url放到ie上返回正常。
原文地址:https://www.cnblogs.com/NolaLi/p/10070707.html
时间: 2024-11-15 06:15:23