登录链补齐网页设备字段并修正udb_appid为5002

App模拟扫码登录只产出16个udb_*认证字段且udb_appid=5008(App渠道);
真实网页登录态是41字段+udb_appid=5002,缺字段注入浏览器会导致
UDB SDK判定设备态不完整。登录成功返回前用 fill_web_cookie_fields
补齐guid/qimei/yamid/game_did等字段并强制udb_appid=5002。

实测:16字段App ck -> 41字段网页形态,checkLogin=isLogined:true、
cookie/verify returnCode:0,与8.31真实扫码登录抓包一致
This commit is contained in:
yml2213
2026-09-01 22:44:42 +08:00
parent 0839fc5947
commit 45da352668
+18
View File
@@ -833,6 +833,24 @@ class HuyaAppPasswordLogin:
code="COOKIE_INCOMPLETE", code="COOKIE_INCOMPLETE",
) )
# 补齐网页设备字段并修正 appId:真实网页登录态是 41 字段 +
# udb_appid=5002App 扫码链只产出 16 个 udb_* 认证字段且 appId=5008
# (App 渠道),缺字段注入浏览器会导致 UDB SDK 判定设备态不完整。
from .web_cookie_fields import (
fill_web_cookie_fields,
)
full_cookie = fill_web_cookie_fields(cookie_str, guid="", uid=uid)
appid_fixed = "; ".join(
f"{key}={value}" if key != "udb_appid" else "udb_appid=5002"
for key, value in cookie_pairs(full_cookie)
)
cookie_str = appid_fixed
logger.info(
f"[huya-app] 补齐网页设备字段: {len(cookie_str)}B "
f"({len(cookie_pairs(cookie_str))} 字段, 缺 {len(self._missing_web_device_cookie(cookie_str))})"
)
logger.info( logger.info(
f"[huya-app] 账号 {acct} 登录成功,获取网页 Cookie ({len(cookie_str)}B)" f"[huya-app] 账号 {acct} 登录成功,获取网页 Cookie ({len(cookie_str)}B)"
) )