调整代码机制

This commit is contained in:
2026-04-01 14:57:39 +08:00
parent 82f673d806
commit 3c50cfcfc5

View File

@@ -218,7 +218,12 @@ async def _verify_weibo_cookie(cookie_str: str) -> dict:
headers=WEIBO_HEADERS, headers=WEIBO_HEADERS,
cookies=cookies, cookies=cookies,
) )
data = resp.json() try:
data = resp.json()
except Exception:
# 非 JSON 响应(可能是 GBK 编码的登录页),视为 Cookie 失效
return {"valid": False, "uid": None, "screen_name": None}
if data.get("ok") != 1: if data.get("ok") != 1:
return {"valid": False, "uid": None, "screen_name": None} return {"valid": False, "uid": None, "screen_name": None}
@@ -237,7 +242,7 @@ async def _verify_weibo_cookie(cookie_str: str) -> dict:
uid = str(user.get("idstr", user.get("id", ""))) uid = str(user.get("idstr", user.get("id", "")))
screen_name = user.get("screen_name", "") screen_name = user.get("screen_name", "")
except Exception: except Exception:
pass # profile info is optional, login check already passed pass
return {"valid": True, "uid": uid, "screen_name": screen_name} return {"valid": True, "uid": uid, "screen_name": screen_name}
@@ -336,7 +341,10 @@ async def _get_super_topics(cookie_str: str, weibo_uid: str = "") -> List[dict]:
headers=headers, headers=headers,
cookies=cookies, cookies=cookies,
) )
data = resp.json() try:
data = resp.json()
except Exception:
break
if data.get("ok") != 1: if data.get("ok") != 1:
break break
@@ -413,7 +421,10 @@ async def _do_signin(cookie_str: str, topic_title: str, containerid: str) -> dic
headers=headers, headers=headers,
cookies=cookies, cookies=cookies,
) )
data = resp.json() try:
data = resp.json()
except Exception:
return {"status": "failed", "message": f"非JSON响应: {resp.text[:100]}"}
code = str(data.get("code", "")) code = str(data.get("code", ""))
msg = data.get("msg", "") msg = data.get("msg", "")