diff --git a/app/src/main/java/com/videoapp/tv/engine/BaseSourceHandler.kt b/app/src/main/java/com/videoapp/tv/engine/BaseSourceHandler.kt index 55273f1..f3f2c5d 100644 --- a/app/src/main/java/com/videoapp/tv/engine/BaseSourceHandler.kt +++ b/app/src/main/java/com/videoapp/tv/engine/BaseSourceHandler.kt @@ -24,6 +24,9 @@ abstract class BaseSourceHandler( val url = "${baseUrl.trimEnd('/')}/${config.searchPath.trimStart('/')}" val connection: Connection = Jsoup.connect(url) .data(config.keywordParam, keyword) + .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") + .header("Accept", "text/html,application/xhtml+xml") + .header("Accept-Language", "zh-CN,zh;q=0.9") .timeout(15000) config.extraParams.forEach { (key, value) -> @@ -83,7 +86,10 @@ abstract class BaseSourceHandler( override suspend fun extractVideos(detailUrl: String): List = withContext(Dispatchers.IO) { - val doc = Jsoup.connect(detailUrl).timeout(15000).get() + val doc = Jsoup.connect(detailUrl) + .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") + .header("Accept-Language", "zh-CN,zh;q=0.9") + .timeout(15000).get() val sourceTabs = doc.select(config.sourceSelector) val sourceNames = sourceTabs.map { it.text().trim() }.filter { it.isNotEmpty() } @@ -115,7 +121,10 @@ abstract class BaseSourceHandler( override suspend fun resolvePlayUrl(playUrl: String): Pair = withContext(Dispatchers.IO) { try { - val doc = Jsoup.connect(playUrl).timeout(15000).get() + val doc = Jsoup.connect(playUrl) + .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") + .header("Accept-Language", "zh-CN,zh;q=0.9") + .timeout(15000).get() val iframeEl = doc.selectFirst(config.iframeSelector) var iframeUrl = iframeEl?.attr("src") diff --git a/app/src/main/java/com/videoapp/tv/engine/tvcat/TvcatHandler.kt b/app/src/main/java/com/videoapp/tv/engine/tvcat/TvcatHandler.kt index 1165640..3ad6a55 100644 --- a/app/src/main/java/com/videoapp/tv/engine/tvcat/TvcatHandler.kt +++ b/app/src/main/java/com/videoapp/tv/engine/tvcat/TvcatHandler.kt @@ -35,7 +35,10 @@ class TvcatHandler : BaseSourceHandler( ) { override suspend fun extractVideos(detailUrl: String): List = withContext(Dispatchers.IO) { - val doc = Jsoup.connect(detailUrl).timeout(15000).get() + val doc = Jsoup.connect(detailUrl) + .header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36") + .header("Accept-Language", "zh-CN,zh;q=0.9") + .timeout(15000).get() val episodes = doc.select("li.list-inline-item a").mapNotNull { ep -> val title = ep.text().trim() val href = ep.attr("href").trim()