2020-01-07

Java 网络post请求参数为JSON 格式处理

   前段时间因为业务上对接第三方接口 ,而接口参数入参是json格式,在调用过程中出现参数乱码问题处理,与大家分一下:

Java代码实现如下:

import org.apache.commons.httpclient.HttpStatus;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;

/**
 * post请求
 * @param url
 * @param jsonParams
 * @return
 */
public static String doSendPostRequest(String url, String jsonParams){
    DefaultHttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(url);
    String response = null;
    try {
        StringEntity s = new StringEntity(jsonParams,"utf-8");
        s.setContentType("application/json;charset=utf-8");//发送json数据需要设置contentType
        post.setEntity(s);
        HttpResponse res = client.execute(post);
        if(res.getStatusLine().getStatusCode() == HttpStatus.SC_OK){
            HttpEntity entity = res.getEntity();
            String result = EntityUtils.toString(res.getEntity());// 返回json格式:
            response = result;
        }
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return response;
}

//请求具体请求如下:
public static void main(String[] args) throws IOException {
String resultStr = "{'Id':'1222' ,'lade': '7759'}";
String url = "xxxxxxxxxxxx.com";
resultStr = RequestUtil.doSendPostRequest(url,resultStr);
System.out.println(resultStr);
}

注意:String格式的jsonParams实例化转为StringEntity时,需要加上utf-8 编码,不然传入的参数会乱码,导致调用报错。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • HttpClient程序包是一个实现了 HTTP 协议的客户端编程工具包,要想熟练的掌握它,必须熟悉 HTTP协议...
    狂奔的蜗牛_wxc阅读 1,440评论 0 4
  • 老刘心语 (20190528) 弘扬学习风,传递正能量,传播好思想,实...
    河北南和刘志玉阅读 132评论 0 1
  • Q1总结 Q1工作重点: 第一季度的主要工作内容,在制度和规则上面,例如重新编制、规范和维护( 避免表达不清晰,...
    ling__阅读 4,429评论 0 0
  • 外面下着雨 走出大楼不禁裹了裹大衣 盘算着随便吃点东西去接女儿放学 每个下雨天都会把城市变成堵城 我慢慢地 悠闲地...
    爱蔻严玲阅读 229评论 2 1
  • 高考落榜并非人生终点 只因遇见‘闺秘’ 眼下各地方的高考分数线已经出炉,那些参加了高考的莘莘学子们,面对自己的分数...
    闺秘雅服饰阅读 217评论 0 1