From 9684e756977518cdc9fef48878e939c1ed6a5153 Mon Sep 17 00:00:00 2001 From: thinkgem Date: Tue, 8 Apr 2025 15:35:59 +0800 Subject: [PATCH] =?UTF-8?q?HttpClientUtils=E5=A2=9E=E5=8A=A0=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=B5=81=E4=B8=8B=E8=BD=BD=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/web/http/HttpClientUtils.java | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/common/src/main/java/com/jeesite/common/web/http/HttpClientUtils.java b/common/src/main/java/com/jeesite/common/web/http/HttpClientUtils.java index 4b7fe368..e5c81143 100644 --- a/common/src/main/java/com/jeesite/common/web/http/HttpClientUtils.java +++ b/common/src/main/java/com/jeesite/common/web/http/HttpClientUtils.java @@ -13,6 +13,7 @@ import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; import javax.net.ssl.TrustManager; import javax.net.ssl.X509ExtendedTrustManager; +import java.io.InputStream; import java.net.Socket; import java.net.URI; import java.net.http.HttpClient; @@ -182,6 +183,41 @@ public class HttpClientUtils { } } + /** + * HTTP 的 GET 请求,返回文件流 + */ + public static InputStream getInputStream(String url) { + return getInputStream(url, null); + } + + /** + * HTTP 的 GET 请求,传递 Map 格式参数,返回文件流 + */ + public static InputStream getInputStream(String url, Map dataMap) { + HttpRequest request = HttpRequest.newBuilder() + .uri(URI.create(buildUrl(url, dataMap, EncodeUtils.UTF_8))) + .GET() + .build(); + return executeRequestInputStream(request); + } + + /** + * 执行一个 http 请求,传递 HttpRequest 参数,返回文件流 + */ + public static InputStream executeRequestInputStream(HttpRequest request) { + try { + HttpResponse response = client.send(request, HttpResponse.BodyHandlers.ofInputStream()); + if (response.statusCode() == 200) { + return response.body(); + } else { + logger.info("URL: {} statusCode: {}", request.uri().toString(), response.statusCode()); + return null; + } + } catch (Exception e) { + throw new RuntimeException(e); + } + } + public static HttpClient createHttpClient(long seconds) { HttpClient client; try {