From bfe435aec5d3688c2ce65daf64d8f28d1aef83a5 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Wed, 13 Mar 2024 23:18:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/help/http/HttpHelper.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/http/HttpHelper.kt b/app/src/main/java/io/legado/app/help/http/HttpHelper.kt index 90e305d0c..e479f0b4c 100644 --- a/app/src/main/java/io/legado/app/help/http/HttpHelper.kt +++ b/app/src/main/java/io/legado/app/help/http/HttpHelper.kt @@ -109,12 +109,17 @@ val okHttpClient: OkHttpClient by lazy { builder.addInterceptor { chain -> val request = chain.request() val requestBuilder = request.newBuilder() - requestBuilder.header("Accept-Encoding", "gzip") + + var transparentGzip = false + if (request.header("Accept-Encoding") == null && request.header("Range") == null) { + transparentGzip = true + requestBuilder.header("Accept-Encoding", "gzip") + } val response = chain.proceed(requestBuilder.build()) val responseBody = response.body - if ("gzip".equals(response.header("Content-Encoding"), ignoreCase = true) + if (transparentGzip && "gzip".equals(response.header("Content-Encoding"), ignoreCase = true) && response.promisesBody() && responseBody != null ) { val responseBuilder = response.newBuilder()