Java发送POST请求,参数为JSON格式,并接收返回JSON数据

Posted wxm-bk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java发送POST请求,参数为JSON格式,并接收返回JSON数据相关的知识,希望对你有一定的参考价值。

原文地址:https://blog.csdn.net/qq_26975307/article/details/82713725

/**
* 发送post请求 * @param url 路径 * @param jsonObject 参数(json类型) * @param encoding 编码格式 * @return * @throws ParseException * @throws IOException */ public static String send(String url, JSONObject jsonObject,String encoding) throws ParseException, IOException String body = ""; //创建httpclient对象 CloseableHttpClient client = HttpClients.createDefault(); //创建post方式请求对象 HttpPost httpPost = new HttpPost(url); //装填参数 StringEntity s = new StringEntity(jsonObject.toString(), "utf-8"); s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); //设置参数到请求对象中 httpPost.setEntity(s); System.out.println("请求地址:"+url); // System.out.println("请求参数:"+nvps.toString()); //设置header信息 //指定报文头【Content-type】、【User-Agent】 // httpPost.setHeader("Content-type", "application/x-www-form-urlencoded"); httpPost.setHeader("Content-type", "application/json"); httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)"); //执行请求操作,并拿到结果(同步阻塞) CloseableHttpResponse response = client.execute(httpPost); //获取结果实体 HttpEntity entity = response.getEntity(); if (entity != null) //按指定编码转换结果实体为String类型 body = EntityUtils.toString(entity, encoding); EntityUtils.consume(entity); //释放链接 response.close(); return body;

 

以上是关于Java发送POST请求,参数为JSON格式,并接收返回JSON数据的主要内容,如果未能解决你的问题,请参考以下文章

requests: 发送一个json格式的post请求

如何将请求参数转为json格式

如何向php服务器发送数据为json的post请求

java 怎么获取post 中的json参数

使用axios发送post请求,将JSON数据改为为form类型

如何通过远程方法发送 json-rpc http post 请求并在 java 中传递加密参数