diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java index d69f319d7b..6064c69986 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/utils/HttpClientManager.java @@ -43,7 +43,6 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; import java.security.KeyManagementException; import java.security.NoSuchAlgorithmException; import java.security.cert.CertificateException; @@ -60,8 +59,12 @@ import java.util.Set; */ @Slf4j public class HttpClientManager { - private static int connectionTimeout = 3000;// 连接超时时间,毫秒 + private static int connectionTimeout = 4000;// 连接超时时间,毫秒 private static int soTimeout = 10000;// 读取数据超时时间,毫秒 + private static String HEADER_CONTENT_TYPE = "Content-Type"; + private static String HEADER_APPLICATION_JSON = "application/json;charset=utf-8"; + private static String UTF8 = "utf-8"; + private static String HEADER_APPLICATION_FORM_URL_ENCODED = "application/x-www-form-urlencoded;charset=utf-8"; /** * HttpClient对象 */ @@ -116,13 +119,14 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/x-www-form-urlencoded charset=utf-8"); + + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_FORM_URL_ENCODED); List list = new ArrayList(); for (String key : paramsMap.keySet()) { list.add(new BasicNameValuePair(key, String.valueOf(paramsMap.get(key)))); } - UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(list, "utf-8"); + UrlEncodedFormEntity urlEncodedFormEntity = new UrlEncodedFormEntity(list, UTF8); httppost.setEntity(urlEncodedFormEntity); return execute(httppost, false); @@ -146,9 +150,9 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json; charset=utf-8"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (StringUtils.isNotEmpty(jsonStrParam)) { - StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + StringEntity se = new StringEntity(jsonStrParam, UTF8); httppost.setEntity(se); } return execute(httppost, false); @@ -164,14 +168,14 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json; charset=utf-8"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (null != headerMap){ headerMap.forEach((k,v) -> { httppost.addHeader(k,v); }); } if (StringUtils.isNotEmpty(jsonStrParam)) { - StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + StringEntity se = new StringEntity(jsonStrParam, UTF8); httppost.setEntity(se); } return execute(httppost, false); @@ -221,9 +225,9 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (StringUtils.isNotEmpty(jsonStrParam)) { - StringEntity se = new StringEntity(jsonStrParam, "utf-8"); + StringEntity se = new StringEntity(jsonStrParam, UTF8); httppost.setEntity(se); } return execute(httppost, true); @@ -249,9 +253,9 @@ public class HttpClientManager { try { String stringToSign = timestamp + "\n" + secret; Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256")); - byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); - String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); + mac.init(new SecretKeySpec(secret.getBytes(UTF8), "HmacSHA256")); + byte[] signData = mac.doFinal(stringToSign.getBytes(UTF8)); + String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), UTF8); DingTalkTextMsg msg = new DingTalkTextMsg(); msg.setContent(content); url = url.concat("×tamp=" + timestamp + "&sign=" + sign); @@ -275,9 +279,9 @@ public class HttpClientManager { try { String stringToSign = timestamp + "\n" + secret; Mac mac = Mac.getInstance("HmacSHA256"); - mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256")); - byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8")); - String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), "UTF-8"); + mac.init(new SecretKeySpec(secret.getBytes(UTF8), "HmacSHA256")); + byte[] signData = mac.doFinal(stringToSign.getBytes(UTF8)); + String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)), UTF8); log.info("sign为:"+sign); url = url.concat("×tamp=" + timestamp + "&sign=" + sign); log.info("发送url:"+url); @@ -383,9 +387,9 @@ public class HttpClientManager { try { HttpPost httppost = new HttpPost(url); httppost.setConfig(requestConfig); - httppost.addHeader("Content-Type", "application/json"); + httppost.addHeader(HEADER_CONTENT_TYPE, HEADER_APPLICATION_JSON); if (StringUtils.isNotEmpty(json)) { - StringEntity se = new StringEntity(json, "utf-8"); + StringEntity se = new StringEntity(json, UTF8); httppost.setEntity(se); } return executeToByte(httppost);