1

我正在创建一个 HttpClient 来将一个简单的字符串发送到我目前正在使用 mockserver-netty 模拟的服务器。

HttpClient.create(opts -> opts.connect(port));

public void send(HttpClient client) {
    this.log.error("sendHttptMessage");
    client.newHandler((in, out) -> out.send(Flux.just(getTestRequest()).map(s -> {
        try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
            return out.alloc().buffer().writeBytes(s.getBytes());
        } catch (IOException ioe) {
            throw Exceptions.propagate(ioe);
        }
    }).subscribeOn(Schedulers.parallel())).then(in.receive().asByteArray().map(bb -> {
        this.log.debug(new String(bb));
        return new String(bb);
    }).then())).block(Duration.ofSeconds(15)).onClose().block(Duration.ofSeconds(3));
}

其中 getTestRequest() 返回我为测试构建的字符串。

但是,似乎我必须设置一个带有错误的整个 SSL 环境:

无法加载库“netty-tcnative”,尝试下一个名称等

ReactiveException:javax.net.ssl.SSLException:握手超时

有没有一种方法可以在不设置 SSL 的情况下使用 reactor netty 的 HttpClient?

谢谢

4

0 回答 0