Java发送POST请求,参数为JSON格式,并接收返回JSON数据
原⽂地址:
/**
* 发送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\ httpPost.setHeader(\"Content-type\
httpPost.setHeader(\"User-Agent\
//执⾏请求操作,并拿到结果(同步阻塞)
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; }