Hutool之Http工具类使用踩坑
1.背景
近日需求对接,需要调用第三方接口,应接口文档要求,需要POST请求,采用Hutool的Http工具类进行调用。其中body内容是经过加密后的密文,在测试联调的时候发现,调用第三方接口,对方开发解密一直不成功,对比发送请求前的报文,自己去解密也能成功解密。考虑是否调用中发生了变化,一对比果然是对方接受到的密文和我加密的密文发生了变化,密文中存在/,然后去到对面就发生了转码,后续将Hutool的工具类换成其它调用工具去调用就可以成功,没有发生转码。
2.测试
为了验证是否是Hutool的Http工具类的问题。我在本地起了一个接口用于测试,用postman进行调用,收到的密文是没经过转码的;然后本地写一个test用Hutool的方法去调用,收到的密文就发生了转码
3.代码如下
String param = "9jZH5I8JbYDMlmB9opHR2n8vGhrz4pDdmAVyj7fEFXz+YIGns/IAMGiB7csvVjKp/D3Rc5ZUUxw=";
HttpUtil.createPost("127.0.0.1:9400/api/test/hutool").body(param).execute();
收到的结果与发送的密文对比:
9jZH5I8JbYDMlmB9opHR2n8vGhrz4pDdmAVyj7fEFXz+YIGns/IAMGiB7csvVjKp/D3Rc5ZUUxw=
9jZH5I8JbYDMlmB9opHR2n8vGhrz4pDdmAVyj7fEFXz+YIGns%2FIAMGiB7csvVjKp%2FD3Rc5ZUUxw=