带有ssl的spring webclient抛出NPE

问题描述

我想创建一个普通的spring网络客户端来连续读取流。该流来自https页面。

我找到了一些“教程”,应该显示如何使用spring webclient来做到这一点,但事实并非如此。 它们要么已经过时,要么只是错误,或者缺少很多信息,尤其是有关所使用类的信息。

像HttpClient.create()之类的东西是PITA,却不知道要使用哪个确切的依赖项!

我当前的测试代码是这样:

package chatclient;

import io.netty.handler.ssl.SslContext;
import io.netty.handler.ssl.SslContextBuilder;
import org.springframework.http.client.reactive.ReactorClientHttpConnector;
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Flux;

public class SslWebClientTest {

    public static void main(String[] args) {


        try {
            SslContext sslContext = SslContextBuilder
                    .forClient()
                    .build();

            ReactorClientHttpConnector clientHttpConnector = new ReactorClientHttpConnector();
//            HttpClient.create();

            WebClient webClient = WebClient.builder()
                    .clientConnector(clientHttpConnector)
                    .build();


            Flux<String> stringFlux = webClient
                    .get()
                    .uri("https://www.google.com")
                    .retrieve()
                    .bodyToFlux(String.class);
            stringFlux.subscribe(System.out::println);

        } catch (Exception e) {
            e.printStackTrace();
        }


    }

}

如预期的那样,它将引发NPE,因为我不知道如何使用此处提到的sslcontext创建httpclient.create()Spring WebClient - SSL configuration 因为我只是不知道这里使用了什么httpclient类-它不是来自以下一种:apache,jdk,jetty

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)