From d7fd4674d6fd40f6f7561e7e1eaac4b84bd9e974 Mon Sep 17 00:00:00 2001 From: houzhongjian <houzhongyi@126.com> Date: 星期五, 10 一月 2025 13:54:53 +0800 Subject: [PATCH] 将data模块中的HttpRequest util工具方法移到common中的HttpUtils中 --- iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/utils/HttpRequest.java | 234 +++++++-------------------------------------------------- 1 files changed, 31 insertions(+), 203 deletions(-) diff --git a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/utils/HttpRequest.java b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/utils/HttpRequest.java index e3816d5..105357d 100644 --- a/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/utils/HttpRequest.java +++ b/iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/utils/HttpRequest.java @@ -1,5 +1,11 @@ package com.iailab.module.data.common.utils; +import com.iailab.framework.tenant.core.context.TenantContextHolder; +import org.apache.http.HttpEntity; +import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpPost; +import org.apache.http.entity.StringEntity; +import org.apache.http.util.EntityUtils; import org.springframework.util.CollectionUtils; import java.io.BufferedReader; @@ -16,219 +22,41 @@ * @date 2021年06月03日 15:31 */ public class HttpRequest { - /** - * 向指定URL发送GET方法的请求 - * - * @param url 发送请求的URL - * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 - * @return URL 所代表远程资源的响应结果 - */ - public static String sendGet(String url, String param) { - String result = ""; - BufferedReader in = null; - try { - String urlNameString = url + "?" + param; - URL realUrl = new URL(urlNameString); - // 打开和URL之间的连接 - URLConnection connection = realUrl.openConnection(); - // 设置通用的请求属性 - connection.setRequestProperty("accept", "*/*"); - connection.setRequestProperty("connection", "Keep-Alive"); - connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - - // 建立实际的连接 - connection.connect(); - // 获取所有响应头字段 - Map<String, List<String>> map = connection.getHeaderFields(); - // 遍历所有的响应头字段 - for (String key : map.keySet()) { - System.out.println(key + "--->" + map.get(key)); - } - // 定义 BufferedReader输入流来读取URL的响应 - in = new BufferedReader(new InputStreamReader(connection.getInputStream())); - String line; - while ((line = in.readLine()) != null) { - result += line; - } - } catch (Exception e) { - System.out.println("发送GET请求出现异常!" + e); - e.printStackTrace(); - } - // 使用finally块来关闭输入流 - finally { - try { - if (in != null) { - in.close(); - } - } catch (Exception e2) { - e2.printStackTrace(); - } - } - return result; - } - - public static String sendGet(String url, Map<String, String> params, String authorization) { - String result = ""; - BufferedReader in = null; - try { - StringBuilder sb = new StringBuilder(); - sb.append(url); - if (!CollectionUtils.isEmpty(params)) { - sb.append("?"); - params.forEach((k, v) -> { - sb.append(k + "=" + v + "&"); - }); - sb.append("t=" + System.currentTimeMillis()); - } - String urlNameString = sb.toString(); - URL realUrl = new URL(urlNameString); - // 打开和URL之间的连接 - URLConnection connection = realUrl.openConnection(); - // 设置通用的请求属性 - connection.setRequestProperty("Authorization", authorization); - connection.setRequestProperty("accept", "*/*"); - connection.setRequestProperty("connection", "Keep-Alive"); - connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - - // 建立实际的连接 - connection.connect(); - // 获取所有响应头字段 - Map<String, List<String>> map = connection.getHeaderFields(); - // 遍历所有的响应头字段 - for (String key : map.keySet()) { - System.out.println(key + "--->" + map.get(key)); - } - // 定义 BufferedReader输入流来读取URL的响应 - in = new BufferedReader(new InputStreamReader(connection.getInputStream())); - String line; - while ((line = in.readLine()) != null) { - result += line; - } - } catch (Exception e) { - System.out.println("发送GET请求出现异常!" + e); - e.printStackTrace(); - } - // 使用finally块来关闭输入流 - finally { - try { - if (in != null) { - in.close(); - } - } catch (Exception e2) { - e2.printStackTrace(); - } - } - return result; - } /** - * 向指定 URL 发送POST方法的请求 * * @param url * @param json + * @param charset + * @param token * @return */ - public static String sendPost(String url, String json) { - PrintWriter out = null; - BufferedReader in = null; - String result = ""; + public static String doPost(String url, String json, String charset, String token) { + Long tenantId = TenantContextHolder.getTenantId(); + org.apache.http.client.HttpClient httpClient = null; + HttpPost httpPost = null; + String result = null; try { - URL realUrl = new URL(url); - // 打开和URL之间的连接 - URLConnection conn = realUrl.openConnection(); - // 设置通用的请求属性 - conn.setRequestProperty("accept", "*/*"); - conn.setRequestProperty("connection", "Keep-Alive"); - conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - - // 发送POST请求必须设置如下两行 - conn.setDoOutput(true); - conn.setDoInput(true); - // 获取URLConnection对象对应的输出流 - out = new PrintWriter(conn.getOutputStream()); - // 发送请求参数 - out.print(json); - // flush输出流的缓冲 - out.flush(); - // 定义BufferedReader输入流来读取URL的响应 - in = new BufferedReader(new InputStreamReader(conn.getInputStream())); - String line; - while ((line = in.readLine()) != null) { - result += line; - } - } catch (Exception e) { - System.out.println("发送 POST 请求出现异常!" + e); - e.printStackTrace(); - } - //使用finally块来关闭输出流、输入流 - finally { - try { - if (out != null) { - out.close(); + httpClient = new SSLClient(); + httpPost = new HttpPost(url); + //设置参数 + httpPost.addHeader("Accept", "application/json"); + httpPost.addHeader("Content-Type", "application/json;charset=UTF-8"); + httpPost.addHeader("token", token); + httpPost.addHeader("Tenant-Id", String.valueOf(tenantId)); + StringEntity stringEntity = new StringEntity(json); + stringEntity.setContentEncoding("UTF-8"); + stringEntity.setContentType("application/json"); + httpPost.setEntity(stringEntity); + HttpResponse response = httpClient.execute(httpPost); + if (response != null) { + HttpEntity resEntity = response.getEntity(); + if (resEntity != null) { + result = EntityUtils.toString(resEntity, charset); } - if (in != null) { - in.close(); - } - } catch (IOException ex) { - ex.printStackTrace(); } - } - return result; - } - - /** - * 向指定 URL 发送POST方法的请求 - * - * @param url - * @param json - * @param authorization - * @return - */ - public static String sendPost(String url, String json, String authorization) { - PrintWriter out = null; - BufferedReader in = null; - String result = ""; - try { - URL realUrl = new URL(url); - // 打开和URL之间的连接 - URLConnection conn = realUrl.openConnection(); - // 设置通用的请求属性 - conn.setRequestProperty("Authorization", authorization); - conn.setRequestProperty("accept", "*/*"); - conn.setRequestProperty("connection", "Keep-Alive"); - conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); - - // 发送POST请求必须设置如下两行 - conn.setDoOutput(true); - conn.setDoInput(true); - // 获取URLConnection对象对应的输出流 - out = new PrintWriter(conn.getOutputStream()); - // 发送请求参数 - out.print(json); - // flush输出流的缓冲 - out.flush(); - // 定义BufferedReader输入流来读取URL的响应 - in = new BufferedReader(new InputStreamReader(conn.getInputStream())); - String line; - while ((line = in.readLine()) != null) { - result += line; - } - } catch (Exception e) { - System.out.println("发送 POST 请求出现异常!" + e); - e.printStackTrace(); - } - //使用finally块来关闭输出流、输入流 - finally { - try { - if (out != null) { - out.close(); - } - if (in != null) { - in.close(); - } - } catch (IOException ex) { - ex.printStackTrace(); - } + } catch (Exception ex) { + ex.printStackTrace(); } return result; } -- Gitblit v1.9.3