如何禁用 Java webflux webclient 请求中的安全证书检查

Neo*_*Neo 4 java spring-boot spring-webflux spring-webclient

通过 webflux webclient 发出 post/get 请求时如何禁用 ssl 检查?

我正在使用的示例构建器代码:

WebClient webClient = WebClient.builder()
        .baseUrl("https://api.github.com")
        .defaultHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.github.v3+json")
        .defaultHeader(HttpHeaders.USER_AGENT, "Spring 5 WebClient")
        .build();
Run Code Online (Sandbox Code Playgroud)

在上面的代码中应该进行哪些更改才能使 ssl 验证错误?

Pau*_*kin 15

        SslContext sslContext = SslContextBuilder
            .forClient()
            .trustManager(InsecureTrustManagerFactory.INSTANCE)
            .build();
    
        HttpClient httpClient = HttpClient.create().secure(t -> t.sslContext(sslContext));
    
        WebClient webClient = WebClient.builder()
            .baseUrl("https://api.github.com")
            .defaultHeader(HttpHeaders.CONTENT_TYPE, "application/vnd.github.v3+json")
            .defaultHeader(HttpHeaders.USER_AGENT, "Spring 5 WebClient")
            .clientConnector(new ReactorClientHttpConnector(httpClient))
            .build();
Run Code Online (Sandbox Code Playgroud)