- 添加 mipu-api 作为 git submodule (Claude Code Skill) - 迁移 API 文档源文件到 docs/ 目录统一维护 - 添加 Gitea Actions 工作流:tag推送自动打包docs并发布Release - Skill 运行时自动从 mipu-open Release 下载最新文档 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
3.7 KiB
3.7 KiB
BrightData 代理串高级用法
📄 BrightData 代理 URL 使用指南
适用于:BrightData Residential / Datacenter / Mobile Proxies
🔗 1. 代理 URL 格式解析
示例 URL:
http://brd-customer-hl_333c2-zone-myproxy-country-us-session-11111vy0c
✅ 结构拆解:
| 部分 | 说明 |
|---|---|
| brd-customer-hl_665225c2 | 客户 ID(固定,由 BrightData 分配) |
| zone=myproxy | 代理子账号名称 |
| country=us | 目标国家代码(ISO 3166-1 alpha-2,如 us, gb, jp) |
| session=11111vy0c | 会话 ID(用于控制 IP 是否复用) |
| proxypassword | 代理子账号密码 |
| brd.superproxy.io:22225 | BrightData 全球统一代理网关 |
💡 关键参数均通过用户名(username)中的字段传递,这是 BrightData 的特殊设计。
🌍 2. 如何指定国家(Country)
只需修改 country=xx 部分即可。
示例:
# 美国 IP
...-country-us-...
# 英国 IP
...-country-gb-...
# 日本 IP
...-country-jp-...
# 德国 IP
✅ 支持所有 BrightData 覆盖的国家(完整国家列表) ⚠️ 如果指定的国家无可用 IP,请求可能失败或返回默认地区 IP(取决于 Zone 设置)
🔁 3. 如何更换 IP(获取新 IP)
BrightData 使用 **session**** 参数控制 IP 复用**:
- 相同
**session**值 → 复用同一个出口 IP(通常维持 5 分钟以上) - 不同
**session**值 → 获取全新 IP
✅ 方法:修改 session 字段
示例:
# Session A: 固定 IP #1
...-session-abc123@...
# Session B: 固定 IP #2(与 abc123 不同)
🔑 只要
**session**值不同,就会分配新 IP(即使其他参数相同)
💡 编程建议:
在代码中动态生成随机 session ID 来每次获取新 IP:
import random
import string
def generate_session_id(length=10):
return ''.join(random.choices(string.ascii_lowercase + string.digits, k=length))
session = generate_session_id()
🔒 4. 如何保持 IP 不变(固定 IP)
只需 在多次请求中使用相同的 **session** 值。
✅ 规则:
- 同一个
session在 5 分钟内有效 - 在此期间,所有使用该 session 的请求将通过 同一个出口 IP
- 超过 5 分钟无活动,IP 可能被回收
示例(固定美国 IP):
http://brd-customer-hl_665225c2-zone-myproxy-country-us-session-my_fixed_ip_001:xxxxy0c@brd.superproxy.io:22225/
🕒 建议:如果需要长时间固定 IP,每 5~8 分钟发一次心跳请求以保持会话活跃。
🛠️ 5. 完整使用示例(Python requests)
import requests
# 固定美国 IP(session = "my_session_1")
proxy_url = "http://brd-customer-hl_665225c2-zone-myproxy-country-us-session-my_session_1:xxxxy0c@brd.superproxy.io:22225/"
proxies = {
"http": proxy_url,
"https": proxy_url
}
try:
resp = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=10)
print(resp.json()) # 显示出口 IP
except Exception as e:
⚙️ 6. 其他高级参数(可选)
你还可以在 username 中添加更多参数(用 - 连接):
[电子表格]
📌 完整参数文档:BrightData Proxy Parameters
❗ 注意事项
- 密码(
**proxypassword**)是敏感信息,切勿泄露或提交到 Git。 - 不要硬编码 session 用于大规模爬虫,避免 IP 被目标网站封禁。
✅ 总结:核心操作速查
[电子表格]