四条 curl 命令,告诉你代理能不能用、IP 在哪里、速度如何,以及报错的真正含义。
在怀疑工具、指纹浏览器或脚本之前,先单独测试代理本身。macOS、Linux 和 Windows 10 及以上版本都自带 curl,几条命令就能回答绝大多数问题。
1. 代理能用吗?拿到的是哪个 IP?
curl -x http://user:pass@host:port https://api.ipify.org
你应该看到一个不是你自己的 IP 地址。在轮换线路上多运行几次,IP 应该会变化。
2. IP 在什么位置?
curl -x http://user:pass@host:port https://ipinfo.io/json
这会显示出口 IP 的国家、地区、城市和所属网络(ASN)。不同的地理定位库在城市级别有时会不一致,城市信息仅供参考。
3. SOCKS5
curl -x socks5h://user:pass@host:port https://ipinfo.io/json
使用 socks5h,让 DNS 由代理解析,而不是由你的电脑解析。
4. 速度怎么样?
curl -x http://user:pass@host:port -o /dev/null -s \
-w "connect %{time_connect}s tls %{time_appconnect}s first byte %{time_starttransfer}s total %{time_total}s\n" \
https://example.com
运行 5 到 10 次,看常见值,而不是最好的那一次。在 Windows 上,把 /dev/null 换成 NUL,并去掉反斜杠写成一行。
看懂错误信息
- 407 Proxy Authentication Required 或「CONNECT tunnel failed, response 407」:用户名或密码错误、用户名不完整,或者你的 IP 不在白名单里。
- Could not resolve proxy:主机名拼错,或者密码里的特殊字符破坏了 URL。把
@编码为%40,:编码为%3A。 - Failed to connect / connection refused:端口错误,或者你这边的防火墙拦截了到该端口的出站连接。
- 代理返回 502 或 503:网关找不到符合定位条件的出口 IP。放宽定位(用国家代替城市)或重试。
- 超时:加上
--max-time 30,重试,或换一个地区的网关。 - 网站返回 403 或验证码页面:代理本身没问题,是网站拦截了请求。换一种 IP 类型、降低频率,或修正请求头和指纹。
拿不准时加上 -v
curl -v 会打印每一步:连接代理、发送 CONNECT 请求、代理的回应和 TLS 握手,能清楚看到卡在哪里。分享输出之前请先删掉,因为里面包含你的代理账号密码。
更多指南
其他语言: English · Français · العربية · Tiếng Việt · Українська