From 2718d249777254f5e3fe62c1982b074458b893cb Mon Sep 17 00:00:00 2001 From: abearxiong Date: Sat, 3 May 2025 02:07:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E4=B9=A0fastapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app.py b/app.py index 8cf9b21..d373d55 100644 --- a/app.py +++ b/app.py @@ -68,7 +68,7 @@ async def setCookie(a1: str) -> Dict[str, Any]: global global_a1 try: # 确保页面仍然有效,如果页面已关闭则重新初始化 - if context_page is None or await context_page.is_closed(): + if context_page is None or context_page.is_closed(): browser_context, context_page = await get_context_page(playwright_instance, "stealth.min.js") await context_page.goto("https://www.xiaohongshu.com") await asyncio.sleep(5) @@ -102,7 +102,7 @@ async def sign(uri: str, data: Dict[str, Any], a1: str, web_session: str) -> Dic global global_a1 try: # 确保页面仍然有效,如果页面已关闭则重新初始化 - if context_page is None or await context_page.is_closed(): + if context_page is None or context_page.is_closed(): browser_context, context_page = await get_context_page(playwright_instance, "stealth.min.js") await context_page.goto("https://www.xiaohongshu.com") await asyncio.sleep(5) @@ -110,12 +110,14 @@ async def sign(uri: str, data: Dict[str, Any], a1: str, web_session: str) -> Dic await asyncio.sleep(1) if a1 != global_a1: - await setCookie(a1) + await setCookie(a1) # Ensure setCookie is awaited properly # 执行 JavaScript 函数 # localStorage.getItem("b1") b1 = await context_page.evaluate("() => localStorage.getItem('b1')") b1b1 = await context_page.evaluate("() => localStorage.getItem('b1b1')") encrypt_params = await context_page.evaluate("([url, data]) => window._webmsxyw(url, data)", [uri, data]) + if not encrypt_params or not isinstance(encrypt_params, dict): + raise HTTPException(status_code=500, detail="Failed to retrieve encryption parameters") return { "x-s": encrypt_params["X-s"], "x-t": str(encrypt_params["X-t"]),