我正在尝试使用Play Framework中的WSClient
API来调用Web服务。
主要问题是我希望在不超过最大有效负载大小的情况下传输巨大的JSON有效负载(超过2MB)。
为此,我想使用gzip压缩请求(使用HTTP标头Content-Encoding: gzip
)。在documentation中,提到了参数play.ws.compressionEnabled
,但它似乎只启用了WSResponse压缩。
我尝试手动压缩有效负载(使用GZipOutputStream)并放置标头Content-Encoding:gzip
,但服务器抛出io.netty.handler.codec.compression.DecompressionException : Unsupported compression method 191 in the GZIP header
。
我怎样才能正确压缩我的请求?
提前致谢
答案 0 :(得分:0)
不幸的是,我认为你不能压缩请求(Netty,底层库不支持它)。您可以在https://github.com/AsyncHttpClient/async-http-client/issues/93和https://github.com/netty/netty/issues/2132
中找到更多信息