1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > httpclient工具类 post请求发送json字符串参数 中文乱码处理

httpclient工具类 post请求发送json字符串参数 中文乱码处理

时间:2019-02-17 13:30:43

相关推荐

httpclient工具类 post请求发送json字符串参数 中文乱码处理

在使用httpclient发送post请求的时候,接收端中文乱码问题解决。

正文:

我们都知道,一般情况下使用post请求是不会出现中文乱码的。可是在使用httpclient发送post请求报文含中文的时候在发送端数据正常但是到了服务器端就中文乱码了。

解决办法:

发送端进行设置编码如下:

工具类:

1 package com.Util; 2 3 import mon.base.Charsets; 4 import org.apache.http.HttpEntity; 5 import org.apache.http.client.methods.CloseableHttpResponse; 6 import org.apache.http.client.methods.HttpPost; 7 import org.apache.http.entity.StringEntity; 8 import org.apache.http.impl.client.CloseableHttpClient; 9 import org.apache.http.impl.client.HttpClients;10 import org.apache.http.util.EntityUtils;11 12 public class HttpUtil {13public static String sendHttpPost(String url, String body) throws Exception {14 CloseableHttpClient httpClient = HttpClients.createDefault();15 HttpPost httpPost = new HttpPost(url);16 httpPost.addHeader("Content-Type", "application/json;charset=UTF-8");17 httpPost.setHeader("Accept", "application/json");18 httpPost.setEntity(new StringEntity(body, Charsets.UTF_8));19 CloseableHttpResponse response = httpClient.execute(httpPost);20 System.out.println(response.getStatusLine().getStatusCode() + "\n");21 HttpEntity entity = response.getEntity();22 String responseContent = EntityUtils.toString(entity, "UTF-8");23 response.close();24 httpClient.close();25 return responseContent;26}27 28 }

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。