zoukankan      html  css  js  c++  java
  • 使用httpclient post请求中文乱码解决办法

    使用httpclient post请求中文乱码解决办法

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

    正文:

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

    解决办法:

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

    使用httpclient post请求中文乱码解决办法

    主要代码:

    if (null != jsonParam) {

    //解决中文问题。

    method.addHeader("Content-type","application/json; charset=utf-8");

    method.setHeader("Accept", "application/json");

    method.setEntity(new StringEntity(jsonParam.toString(), Charset.forName("UTF-8")));

    }

    HttpResponse result = httpClient.execute(method);

    在接收(服务器)端:

    使用httpclient post请求中文乱码解决办法

    主要代码:

    @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;

    }

    这样处理之后。再次请求。乱码问题解决。

  • 相关阅读:
    Django-xadmin
    Django-DRF框架中认证与权限
    Django-DRF视图集
    Django-DRF序列化器
    javascript
    web-api
    ES6语法
    Redis缓存雪崩、击穿、穿透
    Jetbrains IDEA 系列软件最新crack方案
    jmeter设置代理服务器录制脚本
  • 原文地址:https://www.cnblogs.com/libin6505/p/9728843.html
Copyright © 2011-2022 走看看