HttpClient4.4.1 Post请求 MultipartEntityBuilder 设置参数 乱码

  原生java 是支持http请求的在java.net 这个包中就有,奈何用的人少,大家都更倾向于用httpClient,几年前还好,不过这个jar包最近跟新的幅度比较大,历代版本写法差距太大,导致网上出现问题找答案的时候定位太乱!!!

最近在项目中需要发送http Post请求,用的httpclient总是有乱码.

用到了其中的

MultipartEntityBuilder

在设置post 参数的时候,使用了

multipartEntityBuilder.addTextBody(key,value);

但是在调试的时候,总是看到value的编码是iso-8859-1

甚至我改成

multipartEntityBuilder.addTextBody(key,new String(value.getBytes("iso-8859-1","utf-8);

还是没有用,在断点调试的时候依旧是iso-8859-1

一般在这个情况下看看他的 是否有其他的函数,找了一下有这个

multipartEntityBuilder.setCharset()

这个一看肯定可以啊,然后并没有卵用,设置utf-8还是乱码


最后百度了一下,用的这个方法才ok

ContentType strContent=ContentType.create("text/plain",Charset.forName("UTF-8"));
multipartEntityBuilder.addTextBody(key,value,strContent);
真的是乱


猜你喜欢

转载自blog.csdn.net/a897180673/article/details/80314366