# 大麦固定代理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. 测试代理可用性 ```bash # 测试所有代理 python test_damai_proxy.py # 测试单个代理 python test_damai_proxy.py 0 # 测试代理1 python test_damai_proxy.py 1 # 测试代理2 ``` ### 2. 在代码中使用 #### 方式一:使用配置模块 ```python 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中使用 ```python 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 ```python 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) **返回:** ```python { "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` 字段: ```python DAMAI_PROXY_POOL = [ { "name": "大麦代理1", "server": "http://36.137.177.131:50001", "username": "qqwvy0", "password": "mun3r7xz", "enabled": True # 设置为False禁用此代理 }, # ... ] ``` ### 添加新代理 在 `DAMAI_PROXY_POOL` 列表中添加新的代理配置: ```python { "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