diff --git a/app/src/main/java/io/legado/app/data/entities/BaseSource.kt b/app/src/main/java/io/legado/app/data/entities/BaseSource.kt index 0fc435801..c951985b1 100644 --- a/app/src/main/java/io/legado/app/data/entities/BaseSource.kt +++ b/app/src/main/java/io/legado/app/data/entities/BaseSource.kt @@ -23,7 +23,7 @@ interface BaseSource : JsExtensions { /** * 解析header规则 */ - fun getHeaderMap() = HashMap().apply { + fun getHeaderMap(hasLoginHeader: Boolean = false) = HashMap().apply { this[AppConst.UA_NAME] = AppConfig.userAgent header?.let { GSON.fromJsonObject>( @@ -38,6 +38,11 @@ interface BaseSource : JsExtensions { putAll(map) } } + if (hasLoginHeader) { + getLoginHeader()?.let { + putAll(it) + } + } } /** diff --git a/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt b/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt index d3a244f64..4012e11f5 100644 --- a/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt +++ b/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt @@ -64,6 +64,7 @@ object BookChapterList { AnalyzeUrl( ruleUrl = nextUrl, book = book, + source = bookSource, headerMapF = bookSource.getHeaderMap() ).getStrResponse(bookSource.bookSourceUrl).body?.let { nextBody -> chapterData = analyzeChapterList( @@ -87,6 +88,7 @@ object BookChapterList { val analyzeUrl = AnalyzeUrl( ruleUrl = urlStr, book = book, + source = bookSource, headerMapF = bookSource.getHeaderMap() ) val res = analyzeUrl.getStrResponse(bookSource.bookSourceUrl) diff --git a/app/src/main/java/io/legado/app/model/webBook/BookContent.kt b/app/src/main/java/io/legado/app/model/webBook/BookContent.kt index a34629b58..c4011b273 100644 --- a/app/src/main/java/io/legado/app/model/webBook/BookContent.kt +++ b/app/src/main/java/io/legado/app/model/webBook/BookContent.kt @@ -69,6 +69,7 @@ object BookContent { val res = AnalyzeUrl( ruleUrl = nextUrl, book = book, + source = bookSource, headerMapF = bookSource.getHeaderMap() ).getStrResponse(bookSource.bookSourceUrl) res.body?.let { nextBody -> @@ -91,6 +92,7 @@ object BookContent { val analyzeUrl = AnalyzeUrl( ruleUrl = urlStr, book = book, + source = bookSource, headerMapF = bookSource.getHeaderMap() ) val res = analyzeUrl.getStrResponse(bookSource.bookSourceUrl) diff --git a/app/src/main/java/io/legado/app/model/webBook/WebBook.kt b/app/src/main/java/io/legado/app/model/webBook/WebBook.kt index 24d3c6364..29491d2f4 100644 --- a/app/src/main/java/io/legado/app/model/webBook/WebBook.kt +++ b/app/src/main/java/io/legado/app/model/webBook/WebBook.kt @@ -44,7 +44,7 @@ class WebBook(val bookSource: BookSource) { key = key, page = page, baseUrl = sourceUrl, - headerMapF = bookSource.getHeaderMap(), + headerMapF = bookSource.getHeaderMap(true), book = variableBook, source = bookSource ) @@ -86,7 +86,7 @@ class WebBook(val bookSource: BookSource) { baseUrl = sourceUrl, book = variableBook, source = bookSource, - headerMapF = bookSource.getHeaderMap() + headerMapF = bookSource.getHeaderMap(true) ) var res = analyzeUrl.getStrResponse(bookSource.bookSourceUrl) //检测书源是否已登录 @@ -127,7 +127,7 @@ class WebBook(val bookSource: BookSource) { baseUrl = sourceUrl, book = book, source = bookSource, - headerMapF = bookSource.getHeaderMap() + headerMapF = bookSource.getHeaderMap(true) ) var res = analyzeUrl.getStrResponse(bookSource.bookSourceUrl) //检测书源是否已登录 @@ -168,7 +168,7 @@ class WebBook(val bookSource: BookSource) { baseUrl = book.bookUrl, book = book, source = bookSource, - headerMapF = bookSource.getHeaderMap() + headerMapF = bookSource.getHeaderMap(true) ) var res = analyzeUrl.getStrResponse(bookSource.bookSourceUrl) //检测书源是否已登录 @@ -221,10 +221,10 @@ class WebBook(val bookSource: BookSource) { val analyzeUrl = AnalyzeUrl( ruleUrl = bookChapter.getAbsoluteURL(), baseUrl = book.tocUrl, - headerMapF = bookSource.getHeaderMap(), book = book, source = bookSource, - chapter = bookChapter + chapter = bookChapter, + headerMapF = bookSource.getHeaderMap(true) ) var res = analyzeUrl.getStrResponse( bookSource.bookSourceUrl,