数据库Cookie表添加is_universal属性

This commit is contained in:
2024-09-05 19:32:47 +08:00
parent 3bd0867f0e
commit 370fc250f0
3 changed files with 69 additions and 2 deletions
+7 -2
View File
@@ -71,11 +71,16 @@ class CookieClientManager(ClientManager):
cookies = (
cookie for cookie in cookies if cookie.last_usage + timedelta(seconds=self._cookie_cd) < datetime.now()
)
cookies = list(cookies)
if not cookies:
return Cookie(content="{}")
cookie = max(cookies, key=lambda x: x.last_usage)
return cookie
async def _check_cookie(self, cookie: Cookie) -> Cookie:
"""检查Cookie,可以做一些自定义的逻辑,比如说Site的统一风控"""
return cookie
async def get_client(self, target: Target | None) -> AsyncClient:
"""获取 client,根据 target 选择 cookie"""
client = http_client()
@@ -85,9 +90,9 @@ class CookieClientManager(ClientManager):
else:
logger.debug(f"平台 {self._platform_name} 未获取到用户cookie, 使用空cookie")
return await self.assemble_client(client, cookie)
return await self._assemble_client(client, cookie)
async def assemble_client(self, client, cookie):
async def _assemble_client(self, client, cookie):
cookies = httpx.Cookies()
if cookie:
cookies.update(json.loads(cookie.content))