mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
138 lines
4.3 KiB
Java
138 lines
4.3 KiB
Java
package com.jsowell.wxpay.utils;
|
|
|
|
import com.fasterxml.jackson.databind.JsonNode;
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
import org.apache.http.HttpEntity;
|
|
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.HttpClientBuilder;
|
|
import org.apache.http.impl.client.HttpClients;
|
|
import org.apache.http.util.EntityUtils;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import java.net.URL;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
|
|
public class HttpUtils {
|
|
|
|
private static final Logger log = LoggerFactory.getLogger(HttpUtils.class);
|
|
|
|
private static final ObjectMapper JSON = new ObjectMapper();
|
|
|
|
/**
|
|
* get方法
|
|
*
|
|
* @param url
|
|
* @return
|
|
*/
|
|
public static JsonNode doGet(String url) {
|
|
CloseableHttpClient httpClient = HttpClientBuilder.create().build();
|
|
HttpGet httpget = new HttpGet(url);
|
|
httpget.addHeader("Content-Type", "application/json;charset=UTF-8");
|
|
httpget.addHeader("Accept", "application/json");
|
|
try {
|
|
String token = WechatPayUtils.getToken("GET", new URL(url), "");
|
|
httpget.addHeader("Authorization", token);
|
|
CloseableHttpResponse httpResponse = httpClient.execute(httpget);
|
|
if (httpResponse.getStatusLine().getStatusCode() == 200) {
|
|
String jsonResult = EntityUtils.toString(httpResponse.getEntity());
|
|
return JSON.readTree(jsonResult);
|
|
} else {
|
|
log.warn(EntityUtils.toString(httpResponse.getEntity()));
|
|
}
|
|
} catch (Exception e) {
|
|
log.error("HttpUtils.doGet error", e);
|
|
} finally {
|
|
try {
|
|
httpClient.close();
|
|
} catch (Exception e) {
|
|
log.error("httpClient.close() error", e);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* 封装post
|
|
*
|
|
* @return
|
|
*/
|
|
public static Map<String, Object> doPost(String url, String body) {
|
|
CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
HttpPost httpPost = new HttpPost(url);
|
|
httpPost.addHeader("Content-Type", "application/json;chartset=utf-8");
|
|
httpPost.addHeader("Accept", "application/json");
|
|
try {
|
|
String token = WechatPayUtils.getToken("POST", new URL(url), body);
|
|
httpPost.addHeader("Authorization", token);
|
|
if (body == null) {
|
|
throw new IllegalArgumentException("data参数不能为空");
|
|
}
|
|
StringEntity stringEntity = new StringEntity(body, "utf-8");
|
|
httpPost.setEntity(stringEntity);
|
|
|
|
CloseableHttpResponse httpResponse = httpClient.execute(httpPost);
|
|
HttpEntity httpEntity = httpResponse.getEntity();
|
|
|
|
if (httpResponse.getStatusLine().getStatusCode() == 200) {
|
|
String jsonResult = EntityUtils.toString(httpEntity);
|
|
return JSON.readValue(jsonResult, HashMap.class);
|
|
} else {
|
|
log.warn("微信支付错误信息" + EntityUtils.toString(httpEntity));
|
|
}
|
|
} catch (Exception e) {
|
|
log.error("HttpUtils.doPost error", e);
|
|
} finally {
|
|
try {
|
|
httpClient.close();
|
|
} catch (Exception e) {
|
|
log.error("httpClient.close() error", e);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
|
|
/**
|
|
* 封装post
|
|
*
|
|
* @return
|
|
*/
|
|
public static Map<String, Object> doPostWexin(String url, String body) {
|
|
CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
HttpPost httpPost = new HttpPost(url);
|
|
httpPost.addHeader("Content-Type", "application/json;chartset=utf-8");
|
|
httpPost.addHeader("Accept", "application/json");
|
|
try {
|
|
String token = WechatPayUtils.getToken("POST", new URL(url), body);
|
|
httpPost.addHeader("Authorization", token);
|
|
if (body == null) {
|
|
throw new IllegalArgumentException("data参数不能为空");
|
|
}
|
|
StringEntity stringEntity = new StringEntity(body, "utf-8");
|
|
httpPost.setEntity(stringEntity);
|
|
CloseableHttpResponse httpResponse = httpClient.execute(httpPost);
|
|
HttpEntity httpEntity = httpResponse.getEntity();
|
|
if (httpResponse.getStatusLine().getStatusCode() == 200) {
|
|
String jsonResult = EntityUtils.toString(httpEntity);
|
|
return JSON.readValue(jsonResult, HashMap.class);
|
|
} else {
|
|
log.error("微信支付错误信息:{}, body:{}", EntityUtils.toString(httpEntity), body);
|
|
}
|
|
} catch (Exception e) {
|
|
log.error("HttpUtils.doPostWexin error", e);
|
|
} finally {
|
|
try {
|
|
httpClient.close();
|
|
} catch (Exception e) {
|
|
log.error("httpClient.close() error", e);
|
|
}
|
|
}
|
|
return null;
|
|
}
|
|
}
|