pref: 优化 API User Agent

This commit is contained in:
HuanCheng65 2023-03-10 14:37:19 +08:00
parent fb49c5dd7e
commit 5018ef5b6e
No known key found for this signature in database
GPG Key ID: E9031EF91A805148
3 changed files with 16 additions and 3 deletions

View File

@ -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)

View File

@ -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

View File

@ -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 { "" },