diff --git a/core/huya/app_login.py b/core/huya/app_login.py index 4e648cc..bcaa1d9 100644 --- a/core/huya/app_login.py +++ b/core/huya/app_login.py @@ -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)" )