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