登录链补齐网页设备字段并修正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:
@@ -833,6 +833,24 @@ class HuyaAppPasswordLogin:
|
||||
code="COOKIE_INCOMPLETE",
|
||||
)
|
||||
|
||||
# 补齐网页设备字段并修正 appId:真实网页登录态是 41 字段 +
|
||||
# udb_appid=5002,App 扫码链只产出 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(
|
||||
f"[huya-app] 账号 {acct} 登录成功,获取网页 Cookie ({len(cookie_str)}B)"
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user