昨晚同事说之前给的接口不能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上返回正常。

posted on 2018-12-05 14:23  落叶虽美只活一世  阅读(510)  评论(0编辑  收藏  举报
Live2D