Fix UA list parsing in YM. (#14726)
This commit is contained in:
parent
4bb3a039a8
commit
f783cf6018
|
@ -10,6 +10,7 @@ import okhttp3.Interceptor
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.Response
|
import okhttp3.Response
|
||||||
import org.jsoup.nodes.Element
|
import org.jsoup.nodes.Element
|
||||||
|
import java.io.IOException
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
@ -52,26 +53,32 @@ class YugenMangas : Madara(
|
||||||
private var checkedUa = false
|
private var checkedUa = false
|
||||||
|
|
||||||
private fun uaIntercept(chain: Interceptor.Chain): Response {
|
private fun uaIntercept(chain: Interceptor.Chain): Response {
|
||||||
if (userAgent == null && !checkedUa) {
|
try {
|
||||||
val uaResponse = chain.proceed(GET(UA_DB_URL))
|
if (userAgent == null && !checkedUa) {
|
||||||
|
val uaResponse = chain.proceed(GET(UA_DB_URL))
|
||||||
|
|
||||||
if (uaResponse.isSuccessful) {
|
if (uaResponse.isSuccessful) {
|
||||||
userAgent = json.decodeFromString<List<String>>(uaResponse.body!!.string()).random()
|
val uaMap =
|
||||||
checkedUa = true
|
json.decodeFromString<Map<String, List<String>>>(uaResponse.body!!.string())
|
||||||
|
userAgent = uaMap["desktop"]?.random()
|
||||||
|
checkedUa = true
|
||||||
|
}
|
||||||
|
|
||||||
|
uaResponse.close()
|
||||||
}
|
}
|
||||||
|
|
||||||
uaResponse.close()
|
if (userAgent != null) {
|
||||||
|
val newRequest = chain.request().newBuilder()
|
||||||
|
.header("User-Agent", userAgent!!)
|
||||||
|
.build()
|
||||||
|
|
||||||
|
return chain.proceed(newRequest)
|
||||||
|
}
|
||||||
|
|
||||||
|
return chain.proceed(chain.request())
|
||||||
|
} catch (e: Exception) {
|
||||||
|
throw IOException(e.message)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (userAgent != null) {
|
|
||||||
val newRequest = chain.request().newBuilder()
|
|
||||||
.header("User-Agent", userAgent!!)
|
|
||||||
.build()
|
|
||||||
|
|
||||||
return chain.proceed(newRequest)
|
|
||||||
}
|
|
||||||
|
|
||||||
return chain.proceed(chain.request())
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|
|
@ -442,7 +442,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
||||||
SingleLang("YaoiToon", "https://yaoitoon.com", "en", isNsfw = true),
|
SingleLang("YaoiToon", "https://yaoitoon.com", "en", isNsfw = true),
|
||||||
SingleLang("Yetişkin Rüya Manga", "https://yetiskin.ruyamanga.com", "tr", isNsfw = true, className = "YetiskinRuyaManga"),
|
SingleLang("Yetişkin Rüya Manga", "https://yetiskin.ruyamanga.com", "tr", isNsfw = true, className = "YetiskinRuyaManga"),
|
||||||
SingleLang("YonaBar", "https://yonabar.com", "ar", isNsfw = true, overrideVersionCode = 2),
|
SingleLang("YonaBar", "https://yonabar.com", "ar", isNsfw = true, overrideVersionCode = 2),
|
||||||
SingleLang("YugenMangas", "https://yugenmangas.com.br", "pt-BR"),
|
SingleLang("YugenMangas", "https://yugenmangas.com.br", "pt-BR", overrideVersionCode = 1),
|
||||||
SingleLang("Yuri Verso", "https://yuri.live", "pt-BR", overrideVersionCode = 3),
|
SingleLang("Yuri Verso", "https://yuri.live", "pt-BR", overrideVersionCode = 3),
|
||||||
SingleLang("Zero Scan", "https://zeroscan.com.br", "pt-BR", isNsfw = true),
|
SingleLang("Zero Scan", "https://zeroscan.com.br", "pt-BR", isNsfw = true),
|
||||||
SingleLang("Zinmanga", "https://zinmanga.com", "en", overrideVersionCode = 1),
|
SingleLang("Zinmanga", "https://zinmanga.com", "en", overrideVersionCode = 1),
|
||||||
|
|
Loading…
Reference in New Issue