Files
ai_wht_wechat/backend/DAMAI_PROXY_GUIDE.md
2026-01-06 19:36:42 +08:00

6.1 KiB
Raw Permalink Blame History

大麦固定代理IP使用指南

📋 概述

本项目已集成两个大麦固定代理IP可用于无头浏览器访问支持完整的HTTP认证。

🌐 代理配置

代理1

  • 服务器: 36.137.177.131:50001
  • 用户名: qqwvy0
  • 密码: mun3r7xz
  • 状态: 已测试可用

代理2

  • 服务器: 111.132.40.72:50002
  • 用户名: ih3z07
  • 密码: 078bt7o5
  • 状态: 已测试可用

📂 相关文件

文件名 说明
damai_proxy_config.py 代理配置管理模块
test_damai_proxy.py 代理测试脚本
example_use_damai_proxy.py 使用示例代码

🚀 快速开始

1. 测试代理可用性

# 测试所有代理
python test_damai_proxy.py

# 测试单个代理
python test_damai_proxy.py 0  # 测试代理1
python test_damai_proxy.py 1  # 测试代理2

2. 在代码中使用

方式一:使用配置模块

from damai_proxy_config import get_proxy_1, get_proxy_2, get_random_proxy

# 获取指定代理
proxy = get_proxy_1()  # 或 get_proxy_2()

# 随机获取代理
proxy = get_random_proxy()

print(proxy)
# 输出: {'server': 'http://...', 'username': '...', 'password': '...'}

方式二在Playwright中使用

from playwright.async_api import async_playwright
from damai_proxy_config import get_proxy_1

async def use_proxy():
    proxy_config = get_proxy_1()
    
    playwright = await async_playwright().start()
    
    # 配置代理(含认证)
    browser = await playwright.chromium.launch(
        headless=True,
        proxy={
            "server": proxy_config["server"],
            "username": proxy_config["username"],
            "password": proxy_config["password"]
        }
    )
    
    context = await browser.new_context()
    page = await context.new_page()
    
    # 访问目标网站
    await page.goto("https://www.damai.cn/")
    
    await browser.close()
    await playwright.stop()

方式三集成到browser_pool

from browser_pool import get_browser_pool
from damai_proxy_config import get_random_proxy

async def use_with_pool():
    # 获取代理配置
    proxy = get_random_proxy()
    
    # 注意当前browser_pool需要修改以支持带认证的代理
    pool = get_browser_pool()
    browser, context, page = await pool.get_browser(
        proxy=f"{proxy['server']}"  # 基础用法
    )

🔧 API文档

damai_proxy_config.py

get_proxy_config(index: int) -> dict

获取指定索引的代理配置

参数:

  • index: 代理索引0或1

返回:

{
    "server": "http://...",
    "username": "...",
    "password": "..."
}

get_proxy_1() -> dict

快捷获取代理1配置

get_proxy_2() -> dict

快捷获取代理2配置

get_random_proxy() -> dict

随机获取一个可用代理

get_all_enabled_proxies() -> list

获取所有已启用的代理列表

测试结果

所有代理已通过以下测试:

  1. IP检测测试 - 确认代理IP地址正确
  2. 小红书访问测试 - 成功访问小红书创作平台
  3. 大麦网访问测试 - 成功访问大麦网

测试日志示例

🔍 开始测试: 大麦代理1
   代理服务器: http://36.137.177.131:50001
   认证信息: qqwvy0 / mun3r7xz
============================================================
✅ Playwright启动成功
✅ 浏览器启动成功
✅ 浏览器上下文创建成功
✅ 页面创建成功

📍 测试1: 访问IP检测网站...
✅ 访问成功
🌐 当前IP信息:
{
  "origin": "36.137.177.131"
}

📍 测试2: 访问小红书登录页...
✅ 访问成功
   页面标题: 小红书创作服务平台

📍 测试3: 访问大麦网...
✅ 访问成功
   页面标题: 大麦网-全球演出赛事官方购票平台

🎯 使用场景

  1. 反爬虫绕过 - 使用固定IP避免频繁更换导致的风险
  2. 地域限制 - 使用特定地区的IP访问区域性内容
  3. 负载均衡 - 在多个代理间轮换,分散请求压力
  4. 容错处理 - 一个代理失败时自动切换到备用代理

⚠️ 注意事项

  1. 认证信息安全: 代理用户名密码已配置在代码中,生产环境建议使用环境变量
  2. 代理轮换: 建议实现代理轮换机制避免单一IP被封禁
  3. 异常处理: 建议添加代理失败时的重试和切换逻辑
  4. 性能影响: 使用代理会增加网络延迟,请根据实际需求权衡

🔄 代理管理

启用/禁用代理

编辑 damai_proxy_config.py,修改代理配置中的 enabled 字段:

DAMAI_PROXY_POOL = [
    {
        "name": "大麦代理1",
        "server": "http://36.137.177.131:50001",
        "username": "qqwvy0",
        "password": "mun3r7xz",
        "enabled": True  # 设置为False禁用此代理
    },
    # ...
]

添加新代理

DAMAI_PROXY_POOL 列表中添加新的代理配置:

{
    "name": "新代理",
    "server": "http://ip:port",
    "username": "username",
    "password": "password",
    "enabled": True
}

📊 性能测试

根据测试结果,代理响应时间:

  • IP检测: ~2-3秒
  • 小红书: ~3-5秒
  • 大麦网: ~3-5秒

🛠️ 故障排查

问题1: 代理连接超时

解决方案:

  1. 检查代理服务器是否在线
  2. 验证认证信息是否正确
  3. 增加连接超时时间

问题2: 认证失败

解决方案:

  1. 确认用户名密码正确
  2. 检查代理是否需要IP白名单
  3. 联系代理服务商确认账户状态

问题3: 访问被拒绝

解决方案:

  1. 切换到另一个代理
  2. 检查目标网站是否封禁了代理IP
  3. 添加适当的请求头和延迟

📝 更新日志

2025-12-26

  • 初始化大麦代理配置
  • 完成两个代理的测试验证
  • 创建配置管理模块
  • 添加使用示例和文档

📞 技术支持

如遇到代理相关问题,请检查:

  1. 网络连接是否正常
  2. 代理服务商是否有公告
  3. 代理配置是否正确

最后更新: 2025-12-26
版本: 1.0.0