From c83076bbd7815075496831372ddb822c30f7b2d0 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Apr 2024 11:30:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(X-Pack):=20=E9=A3=9E=E4=B9=A6=E5=8F=91?= =?UTF-8?q?=E9=80=81=E5=AE=9A=E6=97=B6=E6=8A=A5=E5=91=8A=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E8=BF=9C=E7=A8=8B=E5=9B=BE=E7=89=87=E4=BC=9A?= =?UTF-8?q?=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/common/util/HttpClientUtil.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/util/HttpClientUtil.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/util/HttpClientUtil.java index 0a2b68ce23..061d39f22d 100755 --- a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/util/HttpClientUtil.java +++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/util/HttpClientUtil.java @@ -30,7 +30,9 @@ import org.apache.http.util.EntityUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.io.ByteArrayOutputStream; import java.io.File; +import java.io.InputStream; import java.net.ProxySelector; import java.nio.charset.StandardCharsets; import java.security.cert.X509Certificate; @@ -285,4 +287,37 @@ public class HttpClientUtil { throw new RuntimeException("HttpClient查询失败: " + e.getMessage()); } } + + public static byte[] downFromRemote(String url, HttpClientConfig config) { + HttpGet httpGet = new HttpGet(url); + CloseableHttpClient httpClient = buildHttpClient(url); + + try { + httpGet.setConfig(config.buildRequestConfig()); + + Map header = config.getHeader(); + for (String key : header.keySet()) { + httpGet.addHeader(key, header.get(key)); + } + HttpResponse response = httpClient.execute(httpGet); + InputStream inputStream = response.getEntity().getContent(); + ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + byte[] buffer = new byte[1024]; + int bytesRead; + while ((bytesRead = inputStream.read(buffer)) != -1) { + outputStream.write(buffer, 0, bytesRead); + } + return outputStream.toByteArray(); + } catch (Exception e) { + logger.error("HttpClient查询失败", e); + throw new RuntimeException("HttpClient查询失败: " + e.getMessage()); + } finally { + try { + httpClient.close(); + } catch (Exception e) { + logger.error("HttpClient关闭连接失败", e); + } + } + + } }