配置文件 my: proxy: http: addr: 3.3.3.3 port: 1111 https: addr: 3.3.3.3 port: 1112 exclude: paths: - 1.1.1.1 - 2.2.2.2 加载过滤地址 import lombok.Data; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.context.annotation.Configuration; import java.util.List; @Data @Configuration @ConfigurationProperties(prefix = "my.proxy.exclude") public class ProxyConfig { List<String> paths; } 设置代理 import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.stereotype.Component; import pers.zzq.manage.config.ProxyConfig; import java.util.List; @Component @Slf4j @EnableConfigurationProperties(ProxyConfig.class) public class ProxyInteceptorRunner implements CommandLineRunner { @Autowired ProxyConfig proxyConfig; @Value("${my.proxy.http.addr}") String httpAddr; @Value("${my.proxy.http.port}") String httpPort; @Value("${my.proxy.https.addr}") String httpsAddr; @Value("${my.proxy.https.port}") String httpsPort; @Override public void run(String... args) { System.setProperty("https.proxyHost", httpsAddr); System.setProperty("https.proxyPort", httpsPort); System.setProperty("http.proxyHost", httpAddr); System.setProperty("http.proxyPort", httpPort); StringBuilder sb = new StringBuilder(); List<String> paths = proxyConfig.getPaths(); for (String path : paths) { sb.append(path).append("|"); } String s = sb.toString() + "localhost"; System.setProperty("http.nonProxyHosts", s); System.setProperty("http.nonProxyHosts", s); } }
SpringBoot代理设置
最新推荐文章于 2024-07-28 16:10:40 发布