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.graphics.drawable.Drawable
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Process
|
import android.os.Process
|
||||||
|
import android.webkit.WebSettings
|
||||||
import android.webkit.WebView
|
import android.webkit.WebView
|
||||||
import androidx.annotation.Keep
|
import androidx.annotation.Keep
|
||||||
import androidx.annotation.RequiresApi
|
import androidx.annotation.RequiresApi
|
||||||
|
|
@ -206,9 +207,11 @@ class App : Application(), IApp, SketchFactory {
|
||||||
var oaid: String = ""
|
var oaid: String = ""
|
||||||
var encodedOAID: String = ""
|
var encodedOAID: String = ""
|
||||||
var isTrackLimited: Boolean = false
|
var isTrackLimited: Boolean = false
|
||||||
|
var userAgent: String? = null
|
||||||
|
|
||||||
fun init(context: Context) {
|
fun init(context: Context) {
|
||||||
if (!inited) {
|
if (!inited) {
|
||||||
|
userAgent = WebSettings.getDefaultUserAgent(context)
|
||||||
isOAIDSupported = DeviceID.supportedOAID(context)
|
isOAIDSupported = DeviceID.supportedOAID(context)
|
||||||
if (isOAIDSupported) {
|
if (isOAIDSupported) {
|
||||||
DeviceID.getOAID(context, OAIDGetter)
|
DeviceID.getOAID(context, OAIDGetter)
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,20 @@
|
||||||
package com.huanchengfly.tieba.post.api
|
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.App.ScreenInfo
|
||||||
import com.huanchengfly.tieba.post.api.models.protos.ThreadInfo
|
import com.huanchengfly.tieba.post.api.models.protos.ThreadInfo
|
||||||
import com.huanchengfly.tieba.post.utils.EmoticonManager
|
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 getScreenHeight(): Int = ScreenInfo.EXACT_SCREEN_HEIGHT
|
||||||
|
|
||||||
fun getScreenWidth(): Int = ScreenInfo.EXACT_SCREEN_WIDTH
|
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.ClientVersion
|
||||||
import com.huanchengfly.tieba.post.api.Header
|
import com.huanchengfly.tieba.post.api.Header
|
||||||
import com.huanchengfly.tieba.post.api.Param
|
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.models.OAID
|
||||||
import com.huanchengfly.tieba.post.api.retrofit.adapter.DeferredCallAdapterFactory
|
import com.huanchengfly.tieba.post.api.retrofit.adapter.DeferredCallAdapterFactory
|
||||||
import com.huanchengfly.tieba.post.api.retrofit.adapter.FlowCallAdapterFactory
|
import com.huanchengfly.tieba.post.api.retrofit.adapter.FlowCallAdapterFactory
|
||||||
|
|
@ -48,8 +49,6 @@ object RetrofitTiebaApi {
|
||||||
internal val randomClientId = "wappc_${initTime}_${(Math.random() * 1000).roundToInt()}"
|
internal val randomClientId = "wappc_${initTime}_${(Math.random() * 1000).roundToInt()}"
|
||||||
private val stParamInterceptor = StParamInterceptor()
|
private val stParamInterceptor = StParamInterceptor()
|
||||||
private val connectionPool = ConnectionPool(32, 5, TimeUnit.MINUTES)
|
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(
|
private val defaultCommonParamInterceptor = CommonParamInterceptor(
|
||||||
Param.BDUSS to { AccountUtil.getBduss() },
|
Param.BDUSS to { AccountUtil.getBduss() },
|
||||||
|
|
@ -90,7 +89,7 @@ object RetrofitTiebaApi {
|
||||||
val WEB_TIEBA_API: WebTiebaApi by lazy {
|
val WEB_TIEBA_API: WebTiebaApi by lazy {
|
||||||
createJsonApi<WebTiebaApi>("https://tieba.baidu.com/",
|
createJsonApi<WebTiebaApi>("https://tieba.baidu.com/",
|
||||||
CommonHeaderInterceptor(
|
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 to { CuidUtils.getNewCuid() },
|
||||||
Header.CUID_GALAXY2 to { CuidUtils.getNewCuid() },
|
Header.CUID_GALAXY2 to { CuidUtils.getNewCuid() },
|
||||||
Header.CUID_GID to { "" },
|
Header.CUID_GID to { "" },
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue