|
@@ -0,0 +1,117 @@
|
|
|
|
+package org.dromara.system.utils.http;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+import com.alibaba.fastjson2.JSONObject;
|
|
|
|
+import org.apache.http.client.config.RequestConfig;
|
|
|
|
+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.HttpClients;
|
|
|
|
+import org.apache.http.message.BasicHeader;
|
|
|
|
+import org.apache.http.protocol.HTTP;
|
|
|
|
+import org.apache.http.util.EntityUtils;
|
|
|
|
+
|
|
|
|
+import java.io.IOException;
|
|
|
|
+import java.util.Map;
|
|
|
|
+
|
|
|
|
+public class HttpClientUtils {
|
|
|
|
+
|
|
|
|
+ final static int TIMEOUT = 1000;
|
|
|
|
+ final static int TIMEOUT_MSEC = 5 * 1000;
|
|
|
|
+
|
|
|
|
+ public static String doPost(String url, JSONObject json) throws IOException {
|
|
|
|
+ // 创建Httpclient对象
|
|
|
|
+ CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
|
|
+ CloseableHttpResponse response = null;
|
|
|
|
+ String resultString = "";
|
|
|
|
+ try {
|
|
|
|
+ // 创建Http Post请求
|
|
|
|
+ HttpPost httpPost = new HttpPost(url);
|
|
|
|
+/* // 创建参数列表
|
|
|
|
+ if (paramMap != null) {
|
|
|
|
+ List<NameValuePair> paramList = new ArrayList<>();
|
|
|
|
+ for (Map.Entry<String, String> param : paramMap.entrySet()) {
|
|
|
|
+ paramList.add(new BasicNameValuePair(param.getKey(), param.getValue()));
|
|
|
|
+ }
|
|
|
|
+ // 模拟表单
|
|
|
|
+ UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList);
|
|
|
|
+ httpPost.setEntity(entity);
|
|
|
|
+ }*/
|
|
|
|
+
|
|
|
|
+ StringEntity s = new StringEntity(json.toString(), "utf-8");
|
|
|
|
+ s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
|
|
|
|
+ "application/json"));
|
|
|
|
+ httpPost.setEntity(s);
|
|
|
|
+
|
|
|
|
+ httpPost.setConfig(builderRequestConfig());
|
|
|
|
+
|
|
|
|
+ // 执行http请求
|
|
|
|
+ response = httpClient.execute(httpPost);
|
|
|
|
+
|
|
|
|
+ resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw e;
|
|
|
|
+ } finally {
|
|
|
|
+ try {
|
|
|
|
+ response.close();
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ throw e;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return resultString;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static String doGet(String url, Map<String, String> paramMap) throws IOException {
|
|
|
|
+ url += "?appid=" + paramMap.get("appid") + "&secret=" + paramMap.get("secret") + "&js_code=" + paramMap.get("js_code") + "&grant_type=" + paramMap.get("grant_type");
|
|
|
|
+ // 创建Httpclient对象
|
|
|
|
+ CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
|
|
+ CloseableHttpResponse response = null;
|
|
|
|
+ String resultString = "";
|
|
|
|
+ try {
|
|
|
|
+ // 创建Http Post请求
|
|
|
|
+ HttpGet httpGet = new HttpGet(url);
|
|
|
|
+ // 执行http请求
|
|
|
|
+ response = httpClient.execute(httpGet);
|
|
|
|
+ resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw e;
|
|
|
|
+ } finally {
|
|
|
|
+ try {
|
|
|
|
+ response.close();
|
|
|
|
+ } catch (IOException e) {
|
|
|
|
+ throw e;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ return resultString;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static String doGet1(String url) throws IOException {
|
|
|
|
+ // 创建Httpclient对象
|
|
|
|
+ CloseableHttpClient httpClient = HttpClients.createDefault();
|
|
|
|
+ CloseableHttpResponse response = null;
|
|
|
|
+ String resultString = "";
|
|
|
|
+ try {
|
|
|
|
+ // 创建Http Post请求
|
|
|
|
+ HttpGet httpGet = new HttpGet(url);
|
|
|
|
+ // 执行http请求
|
|
|
|
+ response = httpClient.execute(httpGet);
|
|
|
|
+ resultString = EntityUtils.toString(response.getEntity(), "UTF-8");
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ throw e;
|
|
|
|
+ } finally {
|
|
|
|
+ assert response != null;
|
|
|
|
+ response.close();
|
|
|
|
+ }
|
|
|
|
+ return resultString;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private static RequestConfig builderRequestConfig() {
|
|
|
|
+ return RequestConfig.custom()
|
|
|
|
+ .setConnectTimeout(TIMEOUT_MSEC)
|
|
|
|
+ .setConnectionRequestTimeout(TIMEOUT_MSEC)
|
|
|
|
+ .setSocketTimeout(TIMEOUT_MSEC).build();
|
|
|
|
+ }
|
|
|
|
+}
|