前些天用java写了几个接口,本地用postman去测试都是没有问题的,但是用Linux下的postman去请求一个下载的接口会抛出如标题的异常,一开始并不知道是Linux环境去请求的,以为是自己写的接口有问题,赶紧打日志看报错信息,但是经过排查,请求没有进到方法里就已经报错了。

报错信息
但是用同事的电脑也能请求成功,最后知道了甲方是用Linux下的postman去请求接口的,报错信息就是非法标识符,在window和Linux下请求的参数确是一样的。最后请教了老板。。。使用抓包工具(Wire shark)查看原始的请求数据,才发现看着是一样的参数,Linux下发出去的请求携带了不知名的标识符。

甲方请求的原始数据 具体看框起来的

我请求的原始数据
具体参照ASCII表可以看出来 正确的参数对照 {=>7b 换行=>0d 0a 空格=>20 "=>22 d=>64
所以凡事不能想绝对,报错一定是有原因的(但不是我的原因~~~) 最后再说一句 抓包工具还是非常好用的