# 如何测试代理：出口 IP、位置、泄漏、标头、速度与成功率

“能用”的代理仍可能泄漏、位于错误城市，或无法访问你的目标。只需十分钟进行检查（主要使用 cURL），就能发现销售页面不会告诉你的事实。


## 1. 出口及其国家/地区

```bash
curl -s -x http://USER-cc-de-city-berlin:PASS@res.proxshift.com:9000 https://api.ipify.org
# 然后在一两个公共地理位置数据库中查询该地址
```

国家/地区必须匹配。城市级定位可接受相邻城镇，因为各数据库在这一层级可能存在分歧。先不使用 `-sid-` 运行几次以确认轮换，再使用固定的 `-sid-` 确认粘性。


## 2. 匿名性标头

通过普通 HTTP 请求标头回显端点，并逐一检查所有标头。其中不应提及代理或出口以外的地址：不得出现 `X-Forwarded-For`、`Via`、`Forwarded`、`X-Real-IP`。应通过 HTTP 而非 HTTPS 检查，因为代理无法在 TLS 内添加标头。


## 3. DNS

使用 SOCKS5 时，请比较 `socks5://` 与 `socks5h://`：只有后者会在出口端解析。使用 HTTP 代理时，主机名始终发送给代理。如果网站通过代理访问时的行为与预期不同，常见原因是本地 DNS 响应指向了错误的区域边缘节点。


## 4. WebRTC（仅限浏览器）

在实际要使用的浏览器中打开 WebRTC 泄漏测试。测试中只能出现出口；如果显示真实地址，请禁用 WebRTC，或将其 IP 策略设为仅使用代理。


## 5. 延迟与吞吐量

```bash
curl -s -o /dev/null -w 'connect %{time_connect}s  ttfb %{time_starttransfer}s  total %{time_total}s\n' \
     -x http://USER-cc-de:PASS@res.proxshift.com:9000 https://example.com/
# 住宅出口的 TTFB 为几百毫秒属于正常情况；若达到数秒，说明线路较慢，请尝试其他会话 ID
```

如需测试吞吐量，请下载一个 10 MB 的测试文件并读取 `%{speed_download}`；住宅代理通常可达到数十 Mbit/s，数据中心和 ISP 代理则可达到数百 Mbit/s。


## 6. 目标网站上的成功率

```bash
ok=0; for i in $(seq 1 50); do
  code=$(curl -s -o /dev/null -w '%{http_code}' -m 30 -x "http://USER-cc-us:PASS@res.proxshift.com:9000" https://target.example/some/page)
  [ "$code" = 200 ] && ok=$((ok+1))
done; echo "$ok/50 succeeded"
```

五十次请求只会消耗几 MB 流量。还应检查部分响应的*内容*：状态码为 200 但缺少价格属于软封锁，只有检查内容才能发现。


## 7. 如何得出结论

| 发现 | 含义 | 操作 |
| --- | --- | --- |
| 国家/地区错误 | 参数拼写错误或代码不受支持 | 检查 -cc-（应为 gb，而非 uk） |
| 存在代理标头 | 不是高匿名代理 | 更换提供商 |
| 首次请求即出现 403 或 CAPTCHA | 出口类型对目标而言太弱 | 住宅 → 移动，或数据中心 → 住宅 |
| 发送 N 次请求后被封锁 | 按 IP 限速 | 提高轮换频率并降低速度 |
| 所有操作都很慢 | 家庭住宅线路较慢 | 使用新会话 ID，或改用追求速度的 ISP/数据中心代理 |


## 问题

**在 ProxShift 上进行测试需要多少费用？**

只需最低充值额 $20，检查会消耗几 MB 流量；剩余余额可用于实际工作，并且永不过期。

来源：https://proxshift.com/zh/guides/test-a-proxy
