java代码实现http请求工具类封装
参数介绍:
get方式请求:url:请求地址的字符串
post方式请求:url:请求地址的字符串
jsonString:json字符串
注意:json字符串的生成的方法如下
需要封装的json格式如下:
{ "touser":"OPENID", "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY", "data":{ "first": { "value":"恭喜你审核通过!", "color":"#173177" }, "keyword1":{ "value":"中心", "color":"#173177" }, "keyword2": { "value":"移动开发", "color":"#173177" }, "remark":{ "value":"点击进入", "color":"#173177" } } }java代码转json字符串:
Map<String, Object> params=new HashMap<String,Object>(); Map<String, Object> data=new HashMap<String,Object>(); Map<String, Object> first=new HashMap<String,Object>(); Map<String, Object> keyword1=new HashMap<String,Object>(); Map<String, Object> keyword2=new HashMap<String,Object>(); Map<String, Object> remark=new HashMap<String,Object>(); remark.put("value", "点击进入"); remark.put("color", "#173177"); keyword2.put("value", "移动开发"); keyword2.put("color", "#173177"); keyword1.put("value", "中心"); keyword1.put("color", "#173177"); first.put("value", "恭喜你审核通过"); first.put("color", "#173177"); data.put("first", first); data.put("keyword1", keyword1); data.put("keyword2", keyword2); data.put("remark", remark); params.put("touser", openid); params.put("template_id", ""); params.put("data", data); String paramString= JSON.toJSONString(params);另外,也可以用转移字符直接“\” 将双引号直接转成字符串内容。
java实现http的get、post请求工具类:
package com.css.sword.swordkb.web; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.nio.charset.Charset; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; public class HttpUtil { private static CloseableHttpClient httpClient; static { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(100); cm.setDefaultMaxPerRoute(20); cm.setDefaultMaxPerRoute(50); httpClient = HttpClients.custom().setConnectionManager(cm).build(); } public static String get(String url) { CloseableHttpResponse response = null; BufferedReader in = null; String result = ""; try { HttpGet httpGet = new HttpGet(url); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setConnectionRequestTimeout(30000).setSocketTimeout(30000).build(); httpGet.setConfig(requestConfig); httpGet.setConfig(requestConfig); httpGet.addHeader("Content-type", "application/json; charset=utf-8"); httpGet.setHeader("Accept", "application/json"); response = httpClient.execute(httpGet); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) { sb.append(line + NL); } in.close(); result = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (null != response) { response.close(); } } catch (IOException e) { e.printStackTrace(); } } return result; } public static String post(String url, String jsonString) { CloseableHttpResponse response = null; BufferedReader in = null; String result = ""; try { HttpPost httpPost = new HttpPost(url); RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(30000).setConnectionRequestTimeout(30000).setSocketTimeout(30000).build(); httpPost.setConfig(requestConfig); httpPost.setConfig(requestConfig); httpPost.addHeader("Content-type", "application/json; charset=utf-8"); httpPost.setHeader("Accept", "application/json"); httpPost.setEntity(new StringEntity(jsonString, Charset.forName("UTF-8"))); response = httpClient.execute(httpPost); in = new BufferedReader(new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(""); String line = ""; String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) { sb.append(line + NL); } in.close(); result = sb.toString(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (null != response) { response.close(); } } catch (IOException e) { e.printStackTrace(); } } return result; } }http工具下载地址:https://download.csdn.net/download/zhuchenglin830/11199987