pref: 优化 API User Agent
This commit is contained in:
parent
fb49c5dd7e
commit
5018ef5b6e
|
|
@ -13,6 +13,7 @@ import android.graphics.Color
|
|||
import android.graphics.drawable.Drawable
|
||||
import android.os.Build
|
||||
import android.os.Process
|
||||
import android.webkit.WebSettings
|
||||
import android.webkit.WebView
|
||||
import androidx.annotation.Keep
|
||||
import androidx.annotation.RequiresApi
|
||||
|
|
@ -206,9 +207,11 @@ class App : Application(), IApp, SketchFactory {
|
|||
var oaid: String = ""
|
||||
var encodedOAID: String = ""
|
||||
var isTrackLimited: Boolean = false
|
||||
var userAgent: String? = null
|
||||
|
||||
fun init(context: Context) {
|
||||
if (!inited) {
|
||||
userAgent = WebSettings.getDefaultUserAgent(context)
|
||||
isOAIDSupported = DeviceID.supportedOAID(context)
|
||||
if (isOAIDSupported) {
|
||||
DeviceID.getOAID(context, OAIDGetter)
|
||||
|
|
|
|||
|
|
@ -1,9 +1,20 @@
|
|||
package com.huanchengfly.tieba.post.api
|
||||
|
||||
import android.os.Build
|
||||
import com.huanchengfly.tieba.post.App
|
||||
import com.huanchengfly.tieba.post.App.ScreenInfo
|
||||
import com.huanchengfly.tieba.post.api.models.protos.ThreadInfo
|
||||
import com.huanchengfly.tieba.post.utils.EmoticonManager
|
||||
|
||||
|
||||
private val defaultUserAgent: String =
|
||||
"Mozilla/5.0 (Linux; Android ${Build.VERSION.RELEASE}; ${Build.MODEL} Build/TKQ1.220829.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.86 Mobile Safari/537.36"
|
||||
|
||||
fun getUserAgent(appendString: String? = null): String {
|
||||
val append = " ${appendString?.trim()}".takeIf { !appendString.isNullOrEmpty() }.orEmpty()
|
||||
return "${App.Config.userAgent ?: defaultUserAgent}$append"
|
||||
}
|
||||
|
||||
fun getScreenHeight(): Int = ScreenInfo.EXACT_SCREEN_HEIGHT
|
||||
|
||||
fun getScreenWidth(): Int = ScreenInfo.EXACT_SCREEN_WIDTH
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.huanchengfly.tieba.post.App
|
|||
import com.huanchengfly.tieba.post.api.ClientVersion
|
||||
import com.huanchengfly.tieba.post.api.Header
|
||||
import com.huanchengfly.tieba.post.api.Param
|
||||
import com.huanchengfly.tieba.post.api.getUserAgent
|
||||
import com.huanchengfly.tieba.post.api.models.OAID
|
||||
import com.huanchengfly.tieba.post.api.retrofit.adapter.DeferredCallAdapterFactory
|
||||
import com.huanchengfly.tieba.post.api.retrofit.adapter.FlowCallAdapterFactory
|
||||
|
|
@ -48,8 +49,6 @@ object RetrofitTiebaApi {
|
|||
internal val randomClientId = "wappc_${initTime}_${(Math.random() * 1000).roundToInt()}"
|
||||
private val stParamInterceptor = StParamInterceptor()
|
||||
private val connectionPool = ConnectionPool(32, 5, TimeUnit.MINUTES)
|
||||
private val defaultUserAgent: String =
|
||||
"Mozilla/5.0 (Linux; Android ${Build.VERSION.RELEASE}; ${Build.MODEL} Build/TKQ1.220829.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/109.0.5414.86 Mobile Safari/537.36"
|
||||
|
||||
private val defaultCommonParamInterceptor = CommonParamInterceptor(
|
||||
Param.BDUSS to { AccountUtil.getBduss() },
|
||||
|
|
@ -90,7 +89,7 @@ object RetrofitTiebaApi {
|
|||
val WEB_TIEBA_API: WebTiebaApi by lazy {
|
||||
createJsonApi<WebTiebaApi>("https://tieba.baidu.com/",
|
||||
CommonHeaderInterceptor(
|
||||
Header.USER_AGENT to { "$defaultUserAgent tieba/11.10.8.6 skin/default" },
|
||||
Header.USER_AGENT to { getUserAgent("tieba/11.10.8.6 skin/default") },
|
||||
Header.CUID to { CuidUtils.getNewCuid() },
|
||||
Header.CUID_GALAXY2 to { CuidUtils.getNewCuid() },
|
||||
Header.CUID_GID to { "" },
|
||||
|
|
|
|||
Loading…
Reference in New Issue