解决https调用证书问题
这里使用hutool的httputil请求是因为在使用
int statusCode = httpClient.executeMethod(method);
中对请求https请求返回来一个需要配置证书的问题,
使用hutool封装的httputil的请求就不会有这个问题。
下边有四种请求方式的具体使用实例。有需要补充的地方下方留言
- 代码如下:
public static void main(String[] args){
String url;
try {
url = "https://public.creditchina.gov.cn/private-api/catalogSearchHome"
+ "?keyword="+ URLEncoder.encode("a", "UTF-8")
+ "&scenes=defaultScenario"
+ "&tableName=credit_xyzx_tyshxydm" + "&searchState=2"
+ "&entityType=1,2,4,5,6,7,8" + "&templateId=" + "&page="+1
+ "&pageSize="+10;
System.out.println(HttpUtil
.createGet(url)
.execute()
.charset("utf-8")
.body() );
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
调用post代码示例
POST请求示例:
String object =
HttpUtil.createPost(url)
.body("fileId",rowguid) //post提交携带的参数
.header("token",token) //验证身份的token
.execute().body(); //execute 执行
调用put请求代码示例
put请求示例
Map<String, String> map = new HashMap<String, String>();
map.put("token", token);
HttpRequest request = HttpRequest.put(url).addHeaders(map)
.body("id", rowguid).body("status", "1").
.execute().body();
Method method = request.getMethod();
//这个转换方法也是调用hutool的
String object = Convert.toStr(method.values(), "utf-8");
//上边那种或者下边这种都行
String object = HttpRequest.put(url).addHeaders(map)
.body("id", rowguid).body("status", "1").
.execute().body();
调用delete请求代码示例
delete代码
Map<String, String> map = new HashMap<String, String>();
map.put("token", token);
//发送delete请求接收响应体
String object =
HttpUtil.createRequest(Method.DELETE, url)
.addHeaders(map).execute().body();
封装的请求实例更加灵活的应用
/**
* hutool的httputilPOST请求方法
* @param map
* @return
*/
public static String httpHutoolPost(String url, JSONObject json,Map<String, String> map)
{
String object = HttpRequest.post(url).form(json)
.addHeaders(map).execute().body();
log2.info("httpPost请求地址:"+url+" 参数:"+json+" 返回结果:"+object);
return object;
}
/**
* hutool的httputilGET请求方法
* @param token
* @return
*/
public static String httpHutoolGet(String url, Map<String, String> map)
{
String object = HttpRequest.get(url).addHeaders(map).execute().body();
log2.info("httpGet请求地址:"+url+" 返回结果:"+object);
return object;
}
/**
* hutool的httputilPUT请求方法
* @param jsons
* @return
*/
public static String httpHutoolPut(String url, Map<String, String> map,JSONObject jsons)
{
String object = HttpRequest.put(url).addHeaders(map)
.form(jsons).execute().body();
log2.info("httpPUT请求地址:"+url+" 参数:"+jsons+" 返回结果:"+object);
return object;
}