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数据的主要内容,如果未能解决你的问题,请参考以下文章