java - OkHttp 对请求启用/禁用 gzip 压缩

标签 java android retrofit retrofit2 okhttp

我正在使用 Retrofit 来管理我的请求,并希望进行一些测试以检查使用或不使用 gzip 的请求大小。

默认情况下,OkHttp 对请求执行 gzip 压缩,或者它必须使用 interceptor 实现?

我已经添加了

@Headers({
        "Accept-Encoding: gzip, deflate",
        "Content-Encoding: gzip"
})

或:

@Headers({
        "Content-Type: application/json;charset=utf-8",
        "Accept: application/json"
})

我的请求并没有看到请求长度有任何变化。

最佳答案

OkHttp 将对响应主体进行透明 gzip 压缩,除非您使用此 header 禁用该功能:

Accept-Encoding: identity

关于java - OkHttp 对请求启用/禁用 gzip 压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41164299/

相关文章:

java - 将 Office 文档转换为 PDF 或图像的最佳选择是什么

Java 内存中即时类编译(和加载)

java - 给定一个 obj-c 无符号字节数组,如何在 Java 中获得等效的字节值?

android - 如何处理 Retrofit 中的 Null 响应?

android - 改造 API 以检索 png 图像

java - 如何让图表内容区域占据其可用的最大区域?

java - 在 glassfish 部署描述符 (IntelliJ) 上找不到 persistence.xml

android - Firebase updateChildren() 使用对象而不是使用 Android SDK 的 JSON 原语

java - 不幸的是我的应用程序已停止工作

android - java.lang.IllegalStateException : Expected BEGIN_OBJECT but was STRING 错误