在使用httpclient发送post请求的时候,接收端中文乱码问题解决。
正文:
我们都知道,一般情况下使用post请求是不会出现中文乱码的。可是在使用httpclient发送post请求报文含中文的时候在发送端数据正常但是到了服务器端就中文乱码了。
解决办法:
发送端进行设置编码如下:
主要代码:
if(null!= jsonParam) {
//解决中文问题。
method.addHeader("Content-type","application/json; charset=utf-8");
method.setHeader("Accept", "application/json");
method.setEntity(newStringEntity(jsonParam.toString(), Charset.forName("UTF-8")));
}
HttpResponse result = httpClient.execute(method);
在接收(服务器)端:
主要代码:
@RequestMapping(value = "getJson")
@ResponseBody
public Map<String,Object> getJson(@RequestBody String requestBody, HttpServletRequest request){
requestBody = new String(requestBody.getBytes(), Charset.forName("utf-8"));
JSONObject jsonObject = JSONObject.parseObject(requestBody);
System.out.println(jsonObject);
ResultJsonInfo info = JSONObject.parseObject(jsonObject.toJSONString(), ResultJsonInfo.class);
System.out.println(info);
//TODO 处理自己业务
JSONObject result= new JSONObject();
result.put("success", "true");
Map<String, Object> resultMap = new HashMap<String, Object>();
resultMap.put("isok", true);
return resultMap;
}
这样处理之后。再次请求。乱码问题解决。
相关推荐:
《maven web项目启动报错 org.springfram》
《使用java做爬虫获取网络资源下载403错误解决办法》
《解决eclipse在修改js或jsp卡顿现象》
《在用httpclient发送post报文请求错误解决》
《使用spring mvc 返回json报406错误解决》
分享到:
相关推荐
本文将深入探讨如何使用HttpClient来彻底解决乱码问题。 HttpClient是一个功能强大的HTTP客户端,支持多种HTTP协议版本,包括GET、POST等请求方法,以及重试、连接管理等功能。在处理中文字符时,由于编码不一致...
本篇将详细介绍如何使用HttpClient解决乱码问题。 一、HttpClient基本使用 HttpClient主要由以下几个核心组件构成: 1. HttpClient:客户端实例,负责管理连接、配置请求等。 2. HttpRequestBase:表示HTTP请求,如...
2. **POST请求中的中文乱码**: POST请求中,数据通常放在请求体中。Java的HttpURLConnection或HttpClient类都可以处理POST请求。在使用HttpURLConnection时,需要设置请求头`Content-Type`为`application/x-...
2. **使用HttpPost和NameValuePair**:对于POST请求,我们应使用`HttpPost`类,并通过`NameValuePair`来设置带有中文参数的请求。在添加NameValuePair到请求实体时,需要指定UTF-8编码,例如`new BasicNameValuePair...
- 接下来,使用 HttpClient 执行 GET 请求,并获取响应。最后,将响应体转换为 JSON 对象返回。 4. **POST 请求**: - `doPostJson` 方法类似,但使用 `HttpPost` 对象。它创建一个 `HttpPost` 实例,并设置请求...
在这个场景中,我们关注的是如何使用 HTTPClient 发送一个 JSON 格式的 POST 请求并封装表单数据。下面将详细介绍这个过程。 首先,我们需要创建一个 `HttpPost` 对象,并指定目标 URL。在给出的代码中,`url` 参数...
这里我们详细探讨一下如何使用`HttpClient`发送POST请求,以及这个过程中的关键知识点。 首先,我们创建一个`CloseableHttpClient`对象,这相当于在编程环境中模拟了一个浏览器。`HttpClients.createDefault()`方法...
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
1. **HttpClient库**:HttpClient是Apache提供的一个开源库,它允许开发者构建HTTP客户端应用,支持各种HTTP协议特性,如GET、POST请求,Cookie管理,重定向处理等。在Android中,HttpClient被广泛用于网络通信,...
以上就是使用HttpClient在后台模拟发送GET和POST请求的基本流程,以及处理中文乱码的方法。这个工具类的实现将这些步骤封装起来,方便在实际项目中复用,提高了代码的可维护性和效率。在具体开发过程中,可以根据...
在本篇文章中,我们将探讨如何解决Android中HTTP请求中文乱码的常见问题,并通过一个具体的例子来说明解决方案。 首先,我们要明白HTTP请求中可能出现乱码的原因。当发送带有中文字符的HTTP请求时,数据需要正确地...
Android客户端的代码使用了Apache的HttpClient组件来创建POST请求,并使用`UrlEncodedFormEntity`来封装请求参数。`UrlEncodedFormEntity`默认使用ISO-8859-1编码,这不支持中文字符。当提交包含中文的参数时,如果...
这里我们详细探讨一下如何解决Android POST数据时遇到的UTF-8编码(乱码)问题。 首先,问题的根源在于客户端发送的数据未指定正确的字符编码,导致服务器在接收到数据并尝试以UTF-8格式解码时出现错误。在示例中,...
### HttpClient 4 文件上传知识点详解 #### 一、概述 ...Apache HttpClient是一个强大的客户端HTTP组件,它不仅支持HTTP协议,还能处理HTTPS请求,并提供...同时,需要注意解决中文乱码等问题,以确保数据传输的准确性。
总结起来,使用HTTPClient进行文件上传涉及创建POST请求、构建多部分实体、设置字符集,以及正确处理响应。乱码问题通常源于字符集不匹配,需在客户端和服务器端都进行适当的设置。理解这些知识点有助于在实际开发中...
本案例将详细介绍如何使用HttpClient进行GET和POST类型的请求,以及如何解决在处理过程中可能遇到的文件上传和中文乱码问题。 首先,我们需要导入HttpClient相关的依赖。在Maven项目中,可以在pom.xml文件中添加...
本文将深入探讨如何在Java中有效地解决URL中文乱码问题。 首先,我们需要理解URL编码的原理。URL编码遵循RFC 3986标准,它规定了在URL中非ASCII字符应被转换为百分号编码形式(%xy),其中xy是该字符的UTF-8编码的...
Apache HttpClient是一个强大的Java库,它提供了对HTTP协议的强大支持,包括GET和POST请求的实现。本文将深入探讨如何使用HttpClient来提交数据,以及这两种方法的基本原理和实际应用。 1. **HttpClient简介** ...
在本示例中,我们将深入探讨如何使用HttpClient的PostMethod来上传文件,以及处理Get和Post请求中的乱码问题。 一、HttpClient基础 HttpClient库提供了一套完整的API,允许我们构建复杂的HTTP请求。它支持GET、POST...