今日在通 CloseableHttpClient 进行Http请求的时候遇到的一个传递过去的中文乱码的问题。
请求的参数是通过 StringEntity 来封装的,是一个Json的字符串,之前传递的时候也没有问题,但是这次转换的时候就报错了
所以猜测可能是传递的内容的问题,后来通过对上游调用的分析发现是因为在传递参数过程中,有一个参数是中文,进而导致在计算签名的时候出现了验签失败
所以在这里记录,大家以后在通过 StringEntity 处理参数的时候一定要注意中文的问题:
StringEntity httpEntity = new StringEntity(JSON.toJSONString(params),"UTF-8"); httpEntity.setContentType("application/json");