From 0bffbb6c9fa27d5e7ee25e570c13217c27aeb431 Mon Sep 17 00:00:00 2001 From: Horis <821938089@qq.com> Date: Mon, 26 Jun 2023 23:24:01 +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 --- .../io/legado/app/help/http/CookieManager.kt | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/http/CookieManager.kt b/app/src/main/java/io/legado/app/help/http/CookieManager.kt index 9112a9d33ad..9c3f30b67a5 100644 --- a/app/src/main/java/io/legado/app/help/http/CookieManager.kt +++ b/app/src/main/java/io/legado/app/help/http/CookieManager.kt @@ -1,5 +1,6 @@ package io.legado.app.help.http +import io.legado.app.constant.AppLog import io.legado.app.data.appDb import io.legado.app.help.CacheManager import io.legado.app.utils.NetworkUtils @@ -49,15 +50,24 @@ object CookieManager { * 加载Cookies到请求中 */ fun loadRequest(request: Request): Request { - val domain = NetworkUtils.getSubDomain(request.url.toString()) + val url = request.url.toString() + val domain = NetworkUtils.getSubDomain(url) val cookie = CookieStore.getCookie(domain) val requestCookie = request.header("Cookie") - mergeCookies(cookie, requestCookie)?.let { - return request.newBuilder() - .header("Cookie", it) - .build() + mergeCookies(cookie, requestCookie)?.let { cookie -> + kotlin.runCatching { + return request.newBuilder() + .header("Cookie", cookie) + .build() + }.onFailure { + CookieStore.removeCookie(url) + AppLog.put( + "设置cookie出错,已清除cookie $domain cookie:$cookie\n${it.localizedMessage}", + it + ) + } } return request }