<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.1.19</version>
</dependency>
import cn.hutool.http.HttpRequest;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.HashMap;
import java.util.Map;
public class HttpUtil {
private static final Logger logger = LoggerFactory.getLogger(HttpUtil.class);
/**
* post请求超时时间
*/
private static final int TIME_OUT = 30 * 1000;
public static final String POST = "POST";
public static final String GET = "GET";
/**
* 发送GET请求
*
* @param url
* @param paramMap
* @return
*/
public static String huToolGet(String url, Map<String, Object> paramMap) {
return huToolGetWithHeader(url, paramMap, new HashMap<>(4));
}
/**
* 发送get请求
*
* @param url
* @param paramMap
* @return
*/
public static String huToolGetWithHeader(String url, Map<String, Object> paramMap, Map<String, String> headMap) {
String result = "";
try {
result = HttpRequest.get(url)
.addHeaders(headMap)
.form(paramMap)
.timeout(TIME_OUT)
.execute()
.body();
} catch (Exception e) {
logger.error("【GET请求出错】{}", url, e);
} finally {
logger.info("【POST】url:{},headMap:{},paramMap:{},result:{}", url, JSON.toJSONString(headMap),
JSON.toJSONString(paramMap), result);
}
return result;
}
/**
* 发送post请求
*
* @param url
* @param paramMap
* @return
*/
public static String huToolPost(String url, Map<String, Object> paramMap) {
return huToolPostWithHeader(url, paramMap, new HashMap<>(4));
}
/**
* 发送post请求
*
* @param url
* @param paramMap
* @return
*/
public static String huToolPostWithHeader(String url, Map<String, Object> paramMap, Map<String, String> headMap) {
String result = "";
try {
result = HttpRequest.post(url)
.addHeaders(headMap)
.form(paramMap)
.timeout(TIME_OUT)
.execute()
.body();
} catch (Exception e) {
logger.error("【POST请求出错】{}", url, e);
} finally {
logger.info("【POST】url:{},headMap:{},paramMap:{},result:{}", url, JSON.toJSONString(headMap)
, JSON.toJSONString(paramMap), result);
}
return result;
}
/**
* 发送post请求
*
* @param url
* @param headMap
* @param body
* @return
*/
public static String huToolPostWithHeaderBody(String url, Map<String, String> headMap, String body) {
String result = "";
try {
result = HttpRequest.post(url)
.addHeaders(headMap)
.body(body)
.timeout(TIME_OUT)
.execute()
.body();
} catch (Exception e) {
logger.error("【POST请求出错】{}", url, e);
} finally {
logger.info("【POST】url:{},body:{},headMap:{},result:{}", url, body, JSON.toJSONString(headMap), result);
}
return result;
}
/**
* 发送post请求
*
* @param url
* @param body
* @return
*/
public static String huToolPostWithBody(String url, String body) {
return huToolPostWithHeaderBody(url, null, body);
}
/**
* 发送post请求
*
* @param url
* @param headMap
* @param body
* @return
*/
public static String huToolPostWithBodyParam(String url, Map<String, Object> paramMap, String body) {
String result = "";
try {
result = HttpRequest.post(url)
.form(paramMap)
.body(body)
.timeout(TIME_OUT)
.execute()
.body();
} catch (Exception e) {
logger.error("【POST请求出错】{}", url, e);
} finally {
logger.info("【POST】url:{},body:{},paramMap:{},result:{}", url, body, JSON.toJSONString(paramMap), result);
}
return result;
}
/**
* 发送post请求
*
* @param url
* @param paramMap
* @return
*/
public static String huToolPostFile(String url, Map<String, Object> paramMap, Map<String, String> headMap) {
HashMap<String, String> headMap2 = new HashMap<>(8);
headMap2.put("Content-Type", "multipart/form-data;");
if (headMap != null) {
for (Map.Entry<String, String> item : headMap.entrySet()) {
headMap2.put(item.getKey(), item.getValue());
}
}
String result = "";
try {
result = HttpRequest.post(url)
.addHeaders(headMap2)
.form(paramMap)
.timeout(TIME_OUT)
.execute()
.body();
} catch (Exception e) {
logger.error("【POST请求出错】{}", url, e);
}
return result;
}
}