Files
mipu-open/docs/12_brightdata-proxy-advanced.md
杨柳杰 b450b512a2 init: mipu-open 对外开放项目统一管理仓库
- 添加 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>
2026-05-04 12:16:08 +08:00

158 lines
3.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- mipuyun-api-doc: 12_brightdata-proxy-advanced -->
# BrightData 代理串高级用法
# 📄 BrightData 代理 URL 使用指南
**适用于BrightData Residential / Datacenter / Mobile Proxies**
---
## 🔗 1. 代理 URL 格式解析
示例 URL
```plaintext
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` 部分即可。
### 示例:
```plaintext
# 美国 IP
...-country-us-...
# 英国 IP
...-country-gb-...
# 日本 IP
...-country-jp-...
# 德国 IP
```
> ✅ 支持所有 BrightData 覆盖的国家([完整国家列表](https%3A%2F%2Fbrightdata.com%2Fcountries)
> ⚠️ 如果指定的国家无可用 IP请求可能失败或返回默认地区 IP取决于 Zone 设置)
---
## 🔁 3. 如何更换 IP获取新 IP
BrightData 使用 `**session**`** 参数控制 IP 复用**
- **相同 **`**session**`** 值 → 复用同一个出口 IP**(通常维持 5 分钟以上)
- **不同 **`**session**`** 值 → 获取全新 IP**
### ✅ 方法:修改 `session` 字段
#### 示例:
```plaintext
# 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
```plaintext
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
# 固定美国 IPsession = "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](https%3A%2F%2Fdocs.brightdata.com%2Fapi-reference%2Fproxy%2Fgeolocation-targeting%23city-targeting)
---
## ❗ 注意事项
1. **密码(**`**proxypassword**`**)是敏感信息**,切勿泄露或提交到 Git。
1. **不要硬编码 session** 用于大规模爬虫,避免 IP 被目标网站封禁。
---
## ✅ 总结:核心操作速查
[电子表格]
---