登录链补齐网页设备字段并修正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",
|
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(
|
logger.info(
|
||||||
f"[huya-app] 账号 {acct} 登录成功,获取网页 Cookie ({len(cookie_str)}B)"
|
f"[huya-app] 账号 {acct} 登录成功,获取网页 Cookie ({len(cookie_str)}B)"
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user