我正在创建一个 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?
谢谢