From 74d7ea7000cedbe88c57f703269ce6875732c8b5 Mon Sep 17 00:00:00 2001 From: xiongxiaoyang <1179705413@qq.com> Date: Fri, 14 Mar 2025 18:36:14 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BB=A3=E7=90=86IP=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E5=90=8D=E5=AF=86=E7=A0=81=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../novel/core/config/HttpProxyProperties.java | 4 ++++ .../java2nb/novel/core/utils/RestTemplates.java | 14 ++++++++++++++ .../src/main/resources/application-common-dev.yml | 8 ++++++-- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/novel-common/src/main/java/com/java2nb/novel/core/config/HttpProxyProperties.java b/novel-common/src/main/java/com/java2nb/novel/core/config/HttpProxyProperties.java index 140f298..d128c8e 100644 --- a/novel-common/src/main/java/com/java2nb/novel/core/config/HttpProxyProperties.java +++ b/novel-common/src/main/java/com/java2nb/novel/core/config/HttpProxyProperties.java @@ -19,4 +19,8 @@ public class HttpProxyProperties { private Integer port; + private String username; + + private String password; + } diff --git a/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplates.java b/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplates.java index 80575ab..58bf452 100644 --- a/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplates.java +++ b/novel-common/src/main/java/com/java2nb/novel/core/utils/RestTemplates.java @@ -2,13 +2,18 @@ package com.java2nb.novel.core.utils; import com.java2nb.novel.core.config.HttpProxyProperties; import lombok.SneakyThrows; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpHost; +import org.apache.http.auth.AuthScope; +import org.apache.http.auth.UsernamePasswordCredentials; +import org.apache.http.client.CredentialsProvider; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.conn.socket.PlainConnectionSocketFactory; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.conn.ssl.TrustStrategy; +import org.apache.http.impl.client.BasicCredentialsProvider; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients; @@ -61,6 +66,15 @@ public class RestTemplates { if (Objects.nonNull(httpProxyProperties) && Boolean.TRUE.equals(httpProxyProperties.getEnabled())) { HttpHost proxy = new HttpHost(httpProxyProperties.getIp(), httpProxyProperties.getPort()); clientBuilder.setProxy(proxy); + if (StringUtils.isNotBlank(httpProxyProperties.getUsername()) && StringUtils.isNotBlank( + httpProxyProperties.getPassword())) { + // 创建CredentialsProvider实例并添加代理认证信息 + CredentialsProvider provider = new BasicCredentialsProvider(); + UsernamePasswordCredentials credentials = new UsernamePasswordCredentials( + httpProxyProperties.getUsername(), httpProxyProperties.getPassword()); + provider.setCredentials(AuthScope.ANY, credentials); + clientBuilder.setDefaultCredentialsProvider(provider); + } } CloseableHttpClient httpClient = clientBuilder.setConnectionManager(connectionManager) .build(); diff --git a/novel-common/src/main/resources/application-common-dev.yml b/novel-common/src/main/resources/application-common-dev.yml index a475996..4f21870 100644 --- a/novel-common/src/main/resources/application-common-dev.yml +++ b/novel-common/src/main/resources/application-common-dev.yml @@ -78,6 +78,10 @@ http: # 是否开启 HTTP 代理,true-开启,false-不开启 enabled: false # 代理 IP - ip: u493.kdltps.com + ip: us.swiftproxy.net # 代理端口号 - port: 15818 \ No newline at end of file + port: 7878 + # 代理用户名 + username: swiftproxy_u + # 代理密码 + password: swiftproxy_p \ No newline at end of file