如何在Retrofit中关闭默认压缩?

时间:2016-02-24 16:30:29

标签: android okhttp retrofit2

我正在使用Retrofit进行HTTP调用。但似乎默认情况下库正在压缩(gzip)请求。由于API无法处理压缩请求,有没有办法关闭默认压缩?

1 个答案:

答案 0 :(得分:9)

Retrofit没有压缩。实际上,它几乎不涉及HTTP,因为它只是将辛勤工作委托给真正的HTTP客户端。

那就是说,我猜你正在谈论OkHttp,但OkHttp默认也没有压缩。添加请求正文压缩是我们提供的one of the examples。由于默认情况下大多数Web服务器都不支持它,因此默认情况下不会启用它。

OkHttp会自动为请求添加Accept-Encoding: gzip标头。这向服务器指示OkHttp可以读取Gzip响应主体。如果服务器选择发送一个Gzipped响应主体(它不必),它将在被传回应用程序代码之前被透明地取消Gzip。