如何解决使用 Vert.x WebClient 支持内容编码和内容解码
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
解决方法
您应该独立地创建客户端的相应选项:
client = vertx.createHttpClient(createBaseClientOptions().setTryUseCompression(true));
setTryUseCompression
实际上告诉客户端将 accept-encoding
标头设置为 gzip
,并在服务器将 content-encoding
标头设置为 {{1} 时解压缩响应}.
这在文档 https://vertx.io/docs/vertx-core/java/#_enabling_compression_on_the_client
中有解释版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。