commit
This commit is contained in:
102
backend/test_get_cookies.py
Normal file
102
backend/test_get_cookies.py
Normal file
@@ -0,0 +1,102 @@
|
||||
"""
|
||||
测试AdsPower查询Cookie功能
|
||||
"""
|
||||
import asyncio
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
# 添加项目路径
|
||||
sys.path.insert(0, str(Path(__file__).parent))
|
||||
|
||||
from fingerprint_browser import get_fingerprint_manager
|
||||
from loguru import logger
|
||||
|
||||
async def test_get_cookies():
|
||||
"""测试获取Cookie"""
|
||||
logger.info("="*50)
|
||||
logger.info("开始测试AdsPower Cookie查询功能")
|
||||
logger.info("="*50)
|
||||
|
||||
manager = get_fingerprint_manager()
|
||||
|
||||
# 检查AdsPower状态
|
||||
if not await manager.check_adspower_status():
|
||||
logger.error("❌ AdsPower未运行,请先启动AdsPower")
|
||||
return
|
||||
|
||||
logger.success("✅ AdsPower运行正常")
|
||||
|
||||
# 获取所有配置
|
||||
logger.info("\n查询所有浏览器配置...")
|
||||
profiles = await manager.get_browser_profiles()
|
||||
|
||||
if not profiles:
|
||||
logger.error("❌ 没有找到任何浏览器配置")
|
||||
return
|
||||
|
||||
logger.success(f"✅ 找到 {len(profiles)} 个配置")
|
||||
|
||||
# 显示配置列表
|
||||
print("\n可用的配置列表:")
|
||||
for i, profile in enumerate(profiles[:5], 1): # 只显示前5个
|
||||
profile_id = profile.get('user_id') or profile.get('id')
|
||||
profile_name = profile.get('name', 'unknown')
|
||||
print(f"{i}. ID: {profile_id}, 名称: {profile_name}")
|
||||
|
||||
# 选择看起来像是小红书账号的配置
|
||||
test_profile = None
|
||||
for profile in profiles:
|
||||
name = profile.get('name', '')
|
||||
if 'XHS' in name or '小红书' in name or '1570' in name:
|
||||
test_profile = profile
|
||||
break
|
||||
|
||||
if not test_profile:
|
||||
# 如果没有找到,就用第一个
|
||||
test_profile = profiles[0]
|
||||
|
||||
profile_id = test_profile.get('user_id') or test_profile.get('id')
|
||||
profile_name = test_profile.get('name', 'unknown')
|
||||
|
||||
logger.info("\n" + "="*50)
|
||||
logger.info(f"测试配置: {profile_name} (ID: {profile_id})")
|
||||
logger.info("="*50)
|
||||
|
||||
# 查询Cookie
|
||||
logger.info("\n开始查询Cookie...")
|
||||
cookies = await manager.get_profile_cookies(profile_id)
|
||||
|
||||
if cookies:
|
||||
logger.success(f"\n✅ 成功获取Cookie!")
|
||||
logger.info(f"Cookie数量: {len(cookies)}")
|
||||
|
||||
# 显示前3个Cookie的详细信息
|
||||
print("\n前3个Cookie详情:")
|
||||
for i, cookie in enumerate(cookies[:3], 1):
|
||||
print(f"\n{i}. {cookie.get('name', 'unknown')}")
|
||||
print(f" Domain: {cookie.get('domain', 'N/A')}")
|
||||
print(f" Path: {cookie.get('path', 'N/A')}")
|
||||
print(f" Value: {cookie.get('value', '')[:20]}..." if len(cookie.get('value', '')) > 20 else f" Value: {cookie.get('value', '')}")
|
||||
print(f" HttpOnly: {cookie.get('httpOnly', False)}")
|
||||
print(f" Secure: {cookie.get('secure', False)}")
|
||||
print(f" SameSite: {cookie.get('sameSite', 'N/A')}")
|
||||
|
||||
# 统计Cookie域名分布
|
||||
domains = {}
|
||||
for cookie in cookies:
|
||||
domain = cookie.get('domain', 'unknown')
|
||||
domains[domain] = domains.get(domain, 0) + 1
|
||||
|
||||
print("\nCookie域名分布:")
|
||||
for domain, count in sorted(domains.items(), key=lambda x: x[1], reverse=True)[:5]:
|
||||
print(f" {domain}: {count}个")
|
||||
|
||||
else:
|
||||
logger.error("❌ 获取Cookie失败")
|
||||
|
||||
logger.info("\n" + "="*50)
|
||||
logger.info("测试完成")
|
||||
logger.info("="*50)
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.run(test_get_cookies())
|
||||
Reference in New Issue
Block a user