扫码登录时同时保存sina.com.cn域Cookie, 延长Cookie有效期

This commit is contained in:
2026-04-17 09:23:05 +08:00
parent 36bb86a8f7
commit 0068f22737

View File

@@ -512,17 +512,18 @@ def _execute_sso_login(sso_url):
except Exception as e: except Exception as e:
logger.debug(f"跨域 URL 访问失败: {e}") logger.debug(f"跨域 URL 访问失败: {e}")
# Step 3: 提取 weibo.com 域名的 Cookie签到 API 只需要这些 # Step 3: 提取所有相关域名的 Cookieweibo.com + sina.com.cn
weibo_com_cookies = {} # 微博 SSO 需要两个域的 Cookie 配合才能保持长期有效
relevant_cookies = {}
for cookie in sso_session.cookies: for cookie in sso_session.cookies:
if cookie.domain and 'weibo.com' in cookie.domain: if cookie.domain and ('weibo.com' in cookie.domain or 'sina.com.cn' in cookie.domain):
weibo_com_cookies[cookie.name] = cookie.value relevant_cookies[cookie.name] = cookie.value
cookie_str = '; '.join(f'{k}={v}' for k, v in weibo_com_cookies.items()) cookie_str = '; '.join(f'{k}={v}' for k, v in relevant_cookies.items())
logger.info(f"weibo.com Cookie ({len(weibo_com_cookies)} 个): {list(weibo_com_cookies.keys())}") logger.info(f"收集到 Cookie ({len(relevant_cookies)} 个): {list(relevant_cookies.keys())}")
if not cookie_str or 'SUB' not in weibo_com_cookies: if not cookie_str or 'SUB' not in relevant_cookies:
logger.error(f"Cookie 不完整,缺少 SUB。获取到: {list(weibo_com_cookies.keys())}") logger.error(f"Cookie 不完整,缺少 SUB。获取到: {list(relevant_cookies.keys())}")
return None, None, None return None, None, None
if not uid: if not uid: