diff --git a/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt b/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt index 89253e00..2a5d9bdc 100644 --- a/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt +++ b/src/it/animeworld/src/eu/kanade/tachiyomi/animeextension/it/animeworld/ANIMEWORLD.kt @@ -19,6 +19,7 @@ import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup import kotlinx.serialization.Serializable import kotlinx.serialization.json.Json +import okhttp3.Headers import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response @@ -27,7 +28,6 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy -import java.lang.Exception class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -52,10 +52,19 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { Injekt.get().getSharedPreferences("source_$id", 0x0000) } + override fun headersBuilder(): Headers.Builder { + return super.headersBuilder().apply { + client.newCall(GET(baseUrl)).execute().use { response -> + val (secCookie) = """document\.cookie="SecurityAW-gl=\s*([^\s;]+)""".toRegex().find(response.body.string())!!.destructured + set("Cookie", "SecurityAW-gl=$secCookie;") + } + } + } + // Popular Anime - Same Format as Search override fun popularAnimeSelector(): String = searchAnimeSelector() - override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/filter?sort=6&page=$page") + override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/filter?sort=6&page=$page", headers) override fun popularAnimeFromElement(element: Element): SAnime = searchAnimeFromElement(element) override fun popularAnimeNextPageSelector(): String = searchAnimeNextPageSelector() @@ -87,7 +96,7 @@ class ANIMEWORLD : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun videoListRequest(episode: SEpisode): Request { val iframe = baseUrl + episode.url - return GET(iframe) + return GET(iframe, headers) } override fun videoListParse(response: Response): List