当前位置: 首页 > 知识库问答 >
问题:

使用Vert. x WebClient支持内容编码和内容解码

林弘壮
2023-03-14
public VertxHttpClient(Vertx vertx) {
    this(vertx, new WebClientOptions().setTryUseCompression(true));
}

当我向请求添加accept编码头时。

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

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

相反,它的标题为“传输编码”:“分块”。

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

如何传递accept encoding=gzip并用Vert解压缩从服务器得到的响应。x-WebClient/3.9.5

共有1个答案

万坚壁
2023-03-14

您应该独立于分块创建具有适当选项的客户端:

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

设置TryUseCompression实际上告诉客户端将接受编码头设置为gzip,并在服务器将内容编码头设置为gzip时解压缩响应。

这在留档https://vertx.io/docs/vertx-core/java/#_enabling_compression_on_the_client

 类似资料:
  • 我正在使用Spring WebClient(Spring 5.1.3)调用一个web服务。服务以和 然后失败,出现错误“JSON解码错误:非法字符((CTRL-CHAR,代码31)),我认为这是因为在尝试解析JSON之前,内容尚未解码。 下面是我如何创建WebClient的代码片段(简化) 然后我使用WebClient进行调用: HTTP请求有两个标头: 响应包含以下标题: 通过执行以下操作,我能

  • 我正在使用axios@0.21.1我想验证响应头。我无法从GET响应验证标题“内容类型”和“内容编码”。 “内容类型”:无论我在请求中传递什么内容类型,响应中的内容类型始终是application/JSON。示例代码段: 当我检查回复时。我看到内容类型显示为“application/json”,而不是自定义类型。但当我在《邮递员》中点击相同的url时,我可以看到内容类型和预期的一样。 任何帮助都是

  • 我必须解密一些数据发送到我的网站,使用aes-128-gcm加密与JAVA密码。 我想知道这是否与我必须对二进制数据进行的字符串操作有关,或者提供者没有给我所需的所有必要信息。 我也不知道解密数据必须使用的Tag_length是什么。提供程序还告诉我IV_Length是16个字符长,但是当我使用openssl_cipher_iv_length('aes-128-gcm')时,它建议是12个字符。

  • 问题内容: 我正在编写一些代码来与尚不存在的服务接口,因此我正在编写一个模拟器,以尝试降低当我有机会与实际系统集成时可能遇到的一些问题的风险。该接口基本上是一个REST风格的接口,该接口返回JSON格式的字符串。 接口规范说,将返回JSON格式的响应来代替标准HTTP正文。它还说来自服务器的响应将被zlib压缩,并在标头中设置“ Content- Encoding:gzip”。因此,我创建了一个W

  • 我有一些Java代码,它发送一封电子邮件,代码类似如下:实际上,我从Httprequest param获得了Mimemessage,在该Mimemessage中,我将在现有的主体中附加一些内容。 如果消息是text/plain和text/html content-type,我设置的content-transfer编码就不适用于body。 基于此文档 问:尽管JavaMail为我完成了所有的编码和解

  • 我使用javax邮件api在imap服务器上读取消息。我检查消息内容传输编码,因为如果有必要,我会进行mime解码。 最近,我遇到了一个问题:我的代码在消息上找不到任何内容传输编码。这怎么可能?