今天接到第三方接口对接任务,看到文档对方提供https接口,于是搞起httpclient的证书忽略。
过程中发现接口返回数据居然是这样子:
{"data":{},"resp":{"code":602,"desc":"ä½é¢ä¸è¶³ï¼è¯·å
å¼"}}
先看一段代码片:
HttpResponse res = client.execute(post);
if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
HttpEntity entity = res.getEntity();
//这个位置已经获取到响应对应的字符串
String result = EntityUtils.toString(entity);
}
有可能大部分人的代码都是这样的,但是请注意这个方法:
EntityUtils.toString(entity);
跟源码发现httpclient默认字符集是IOS-8859-1 所以想转成对应字符的同学 请在上面的方法上加上对应的字符集
EntityUtils.toString(entity,"UTF-8");