0
public VertxHttpClient(Vertx vertx) {
    this(vertx, new WebClientOptions().setTryUseCompression(true));
}

当我向请求添加接受编码标头时。

kernelHttpRequest.setHeader("Accept-Encoding", "gzip");

Vert.x-WebClient/3.9.5 忽略此标头,并且我从服务器收到的响应没有“内容编码”标头选项。

相反,它的标题为“Transfer-Encoding”:“chunked”。

"headers": {
        "Transfer-Encoding": [
            "chunked"
        ],

我如何通过accept-encoding = gzip并解压缩我从服务器获得的响应与Vert.x-WebClient/3.9.5

4

1 回答 1

0

you should create the client with the appropriate option independantly of chunking:

client = vertx.createHttpClient(createBaseClientOptions().setTryUseCompression(true));

setTryUseCompression实际上告诉客户端将标头设置为,accept-encodinggzip在服务器将content-encoding标头设置为时解压缩响应gzip

这在文档https://vertx.io/docs/vertx-core/java/#_enabling_compression_on_the_client中有解释

于 2021-07-19T16:09:25.133 回答