Spring Boot WebClient 使用代理IP 屏蔽SSl证书

293 阅读1分钟

前言:经历总是相似的,如果你第一次搜索就看到这篇文章,想必会帮你省下非常多的时间。

版本: reactor-netty-core-1.1.10.jar

public class Main {
    public static void main(String[] args) {
        SslContext sslContext;
        try {
            sslContext = SslContextBuilder.forClient().trustManager(InsecureTrustManagerFactory.INSTANCE).build();
        } catch (SSLException e) {
            throw new RuntimeException(e);
        }

        HttpClient httpClient = HttpClient.create()
                .proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP).host("127.0.0.1").port(8888))
                .secure(sslContextSpec -> sslContextSpec.sslContext(sslContext));

        WebClient webClient = WebClient.builder()
                .baseUrl(BASE_URL)
                .clientConnector(new ReactorClientHttpConnector(httpClient))
                .build();
    }
}