我正在尝试使用来自 Play Framework 的 WSClient
API 调用网络服务。
主要问题是我想在不超过最大有效载荷大小的情况下传输巨大的 JSON 有效载荷(超过 2MB)。
为此,我想使用 gzip(使用 HTTP header Content-Encoding: gzip
)压缩请求。在documentation , 提到了参数 play.ws.compressionEnabled
,但它似乎只启用了 WSResponse 压缩。
我曾尝试手动压缩负载(使用 GZipOutputStream)并放置 header Content-Encoding:gzip
,但服务器抛出一个 io.netty.handler.codec。 compression.DecompressionException:GZIP header 中不支持的压缩方法 191
。
我怎样才能正确压缩我的请求?
提前致谢
最佳答案
不幸的是,我不认为你可以压缩请求(底层库 Netty 不支持它)。您可以在 https://github.com/AsyncHttpClient/async-http-client/issues/93 中找到更多信息和 https://github.com/netty/netty/issues/2132
关于web-services - 来自 Play Framework 的 WSClient 的 gzip 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40929570/