importjava.io.IOException;importorg.apache.commons.codec.CharEncoding;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.client.ClientProtocolException;importorg.apache.http.client.HttpClient;importorg.apache.http.client.methods.HttpDelete;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.client.methods.HttpOptions;importorg.apache.http.client.methods.HttpPatch;importorg.apache.http.client.methods.HttpPost;importorg.apache.http.client.methods.HttpPut;importorg.apache.http.impl.client.HttpClientBuilder;importorg.apache.http.util.EntityUtils;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;/*** HTTP请求辅助工具
*
* @project iweixin-pay
* @fileName WeixinUtil.java
* @Description
*@authorlight-zhang
* @date 2018年5月29日下午3:29:42
*@version1.0.0*/
public classHttpUtils {private static final Logger logger = LoggerFactory.getLogger(HttpUtils.class);private static final HttpClient httpClient =HttpClientBuilder.create().build();/*** 发送POST请求
*
*@paramurl
*@param_class
*@return
*/
public static T post(String url, ClasstypeOfT) {try{
HttpResponse response= httpClient.execute(newHttpPost(url));
HttpEntity entity=response.getEntity();if (entity != null) {
logger.debug("post httpRequest url info:{},response info:{}", url, response);returnJsonPoolUtils.fromJson(EntityUtils.toString(entity, CharEncoding.UTF_8), typeOfT);
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}return null;
}/*** 发送DELETE请求
*
*@paramurl
*@paramtypeOfT
*@return
*/
public static T delete(String url, ClasstypeOfT) {try{
HttpResponse response= httpClient.execute(newHttpDelete(url));
HttpEntity entity=response.getEntity();if (entity != null) {
logger.debug("delete httpRequest url info:{},response info:{}", url, response);returnJsonPoolUtils.fromJson(EntityUtils.toString(entity, CharEncoding.UTF_8), typeOfT);
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}return null;
}/*** 发送PATCH请求
*
*@paramurl
*@paramtypeOfT
*@return
*/
public static T patch(String url, ClasstypeOfT) {try{
HttpResponse response= httpClient.execute(newHttpPatch(url));
HttpEntity entity=response.getEntity();if (entity != null) {
logger.debug("patch httpRequest url info:{},response info:{}", url, response);returnJsonPoolUtils.fromJson(EntityUtils.toString(entity, CharEncoding.UTF_8), typeOfT);
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}return null;
}/*** 发送GET请求
*
*@paramurl
*@paramobj
*@return
*/
public static T get(String url, ClasstypeOfT) {try{
HttpResponse response= httpClient.execute(newHttpGet(url));
HttpEntity entity=response.getEntity();if (entity != null) {
logger.debug("get httpRequest url info:{},response info:{}", url, response);returnJsonPoolUtils.fromJson(EntityUtils.toString(entity, CharEncoding.UTF_8), typeOfT);
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}return null;
}/*** 发送PUT请求
*
*@paramurl
*@param_class
*@return
*/
public static T put(String url, ClasstypeOfT) {try{
HttpResponse response= httpClient.execute(newHttpPut(url));
HttpEntity entity=response.getEntity();if (entity != null) {
logger.debug("put httpRequest url info:{},response info:{}", url, response);returnJsonPoolUtils.fromJson(EntityUtils.toString(entity, CharEncoding.UTF_8), typeOfT);
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}return null;
}/*** 发送OPTIONS请求
*
*@paramurl
*@paramtypeOfT
*@return
*/
public static T options(String url, ClasstypeOfT) {try{
HttpResponse response= httpClient.execute(newHttpOptions(url));
HttpEntity entity=response.getEntity();if (entity != null) {
logger.debug("options httpRequest url info:{},response info:{}", url, response);returnJsonPoolUtils.fromJson(EntityUtils.toString(entity, CharEncoding.UTF_8), typeOfT);
}
}catch(ClientProtocolException e) {
e.printStackTrace();
}catch(IOException e) {
e.printStackTrace();
}return null;
}
}