gogo: fix error 403
This commit is contained in:
@ -5,7 +5,7 @@ ext {
|
|||||||
extName = 'Gogoanime'
|
extName = 'Gogoanime'
|
||||||
pkgNameSuffix = 'en.gogoanime'
|
pkgNameSuffix = 'en.gogoanime'
|
||||||
extClass = '.GogoAnime'
|
extClass = '.GogoAnime'
|
||||||
extVersionCode = 20
|
extVersionCode = 21
|
||||||
libVersion = '12'
|
libVersion = '12'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,11 +40,6 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000)
|
||||||
}
|
}
|
||||||
|
|
||||||
private val videoHeaders = Headers.Builder().apply {
|
|
||||||
add("User-Agent", "Aniyomi")
|
|
||||||
add("Referer", "https://streamani.io/")
|
|
||||||
}.build()
|
|
||||||
|
|
||||||
override fun popularAnimeSelector(): String = "div.img a"
|
override fun popularAnimeSelector(): String = "div.img a"
|
||||||
|
|
||||||
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/popular.html?page=$page")
|
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/popular.html?page=$page")
|
||||||
@ -114,6 +109,8 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
override fun videoFromElement(element: Element): Video {
|
override fun videoFromElement(element: Element): Video {
|
||||||
val quality = element.text().substringAfter("Download (").replace("P - mp4)", "p")
|
val quality = element.text().substringAfter("Download (").replace("P - mp4)", "p")
|
||||||
val url = element.attr("href")
|
val url = element.attr("href")
|
||||||
|
val location = element.ownerDocument().location()
|
||||||
|
val videoHeaders = Headers.headersOf("Referer", location)
|
||||||
return when {
|
return when {
|
||||||
url.contains("https://dood.la") -> {
|
url.contains("https://dood.la") -> {
|
||||||
val newQuality = "Doodstream mirror"
|
val newQuality = "Doodstream mirror"
|
||||||
@ -135,16 +132,17 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
|
|||||||
"SDp" -> "360p"
|
"SDp" -> "360p"
|
||||||
else -> quality
|
else -> quality
|
||||||
}
|
}
|
||||||
Video(url, parsedQuality, videoUrlParse(url), null, videoHeaders)
|
Video(url, parsedQuality, videoUrlParse(url, location), null, videoHeaders)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun videoUrlParse(document: Document) = throw Exception("not used")
|
override fun videoUrlParse(document: Document) = throw Exception("not used")
|
||||||
|
|
||||||
private fun videoUrlParse(url: String): String {
|
private fun videoUrlParse(url: String, referer: String): String {
|
||||||
|
val refererHeader = Headers.headersOf("Referer", referer)
|
||||||
val noRedirectClient = client.newBuilder().followRedirects(false).build()
|
val noRedirectClient = client.newBuilder().followRedirects(false).build()
|
||||||
val response = noRedirectClient.newCall(GET(url)).execute()
|
val response = noRedirectClient.newCall(GET(url, refererHeader)).execute()
|
||||||
val videoUrl = response.header("location")
|
val videoUrl = response.header("location")
|
||||||
response.close()
|
response.close()
|
||||||
return videoUrl ?: url
|
return videoUrl ?: url
|
||||||
|
Reference in New Issue
Block a user