From 45da35266825b72a1d27549adcf304fa7d946c43 Mon Sep 17 00:00:00 2001 From: yml2213 Date: Tue, 1 Sep 2026 22:44:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=E9=93=BE=E8=A1=A5=E9=BD=90?= =?UTF-8?q?=E7=BD=91=E9=A1=B5=E8=AE=BE=E5=A4=87=E5=AD=97=E6=AE=B5=E5=B9=B6?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3udb=5Fappid=E4=B8=BA5002?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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真实扫码登录抓包一致 --- core/huya/app_login.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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)" )