开始之前

  • curl:macOS、大多数 Linux 发行版和较新的 Windows 都自带。
  • 在 Windows PowerShell 中请输入 curl.exe:在 Windows PowerShell 5.1 里,单独的 curl 是 Invoke-WebRequest 的别名。
  • 服务页面上的 HOST、PORT、USERNAME 和 PASSWORD。

你的连接信息

登录控制台,打开你购买的服务。服务页面上会显示该服务的主机、端口、用户名和密码。ProxyPanda 没有一个统一的固定地址,所以每次都请从那里复制。指南中的代码使用下面这些占位符,请逐一替换成你自己的值。

HOST
该服务的代理地址,按服务页面上显示的原样填写。
PORT
要连接的端口。请和主机一起复制,因为不同服务的端口可能不同。
USERNAME
你的代理登录名。它与你登录控制台所用的邮箱是分开的。
PASSWORD
请完整复制。住宅代理在控制台中选择的选项会附加在密码末尾,凭记忆手动输入的密码会丢失这些选项。

把你用来连接的 IP 地址加入服务的白名单,就可以不用用户名和密码。这时代码里只需要 HOST 和 PORT。

示例都使用 HTTP,它可以通过加密隧道访问 https 网站。SOCKS5 同样可用:住宅代理的端口两种都接受,ISP 和数据中心代理在控制台里切换协议。

步骤

  1. 通过代理发送一个请求

    -x 接收带登录信息的代理 URL。返回的就是网站看到的 IP 地址。

    terminal
    curl -x http://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org
  2. 不把登录信息写进 URL

    -U 单独传递用户名和密码,这样其中的符号也不用做百分号编码。

    terminal
    curl -x http://HOST:PORT -U USERNAME:PASSWORD https://api.ipify.org
  3. 让整个 shell 都走代理

    curl 会读取环境变量 https_proxy,所以在取消设置之前,这个终端里的每条命令都会使用代理。

    terminal
    export https_proxy="http://USERNAME:PASSWORD@HOST:PORT"
    curl https://api.ipify.org
    unset https_proxy
  4. 在终端里观察轮换

    每条 curl 命令都会新开一条连接。连续运行三次,对比输出。

    terminal
    for i in 1 2 3; do
      curl -s -x http://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org
      echo
    done

轮换 IP 与粘性 IP

住宅代理选“随机 IP”时,这个循环应该打印三个不同的地址。选“粘性 IP”,或者使用 ISP、数据中心 IP 时,它会把同一个地址打印三次。用这个循环可以很快确认一组凭据处于哪种模式。

常见错误与解决办法

curl: (56) CONNECT tunnel failed, response 407

代理拒绝了登录。先换成 -U 的写法,排除编码问题,再从服务页面重新复制密码。

curl: (7) Failed to connect

从你所在的网络连不到 HOST:PORT。核对这两个值,并检查你的网络防火墙是否拦截了到该端口的出站连接。

curl: (28) Connection timed out

代理或网站没有及时响应。--connect-timeout 和 --max-time 可以控制 curl 的等待时间。住宅节点有时较慢,先重试一次。

curl: (35),并附带 SSL 或 TLS 信息

代理 URL 以 https:// 开头。代理地址请用 http://;curl 在隧道内与网站之间依然使用 TLS。

报错信息不够详细

加上 -v。以 < 开头的行是代理自己的回复,包括在联系网站之前就返回的 407。

选择哪条产品线

curl 用来做检查,任何产品线都可以测。请测试你真正要用的那条线:会封服务器 IP 的网站用住宅代理,长期登录用 ISP,其余大多数情况用数据中心代理。

卡在某一步了?

把命令和报错贴到 Discord,记得先删掉密码。那里的人大多遇到过这些错误。

加入 Discorddiscord.gg/proxypanda
$5 起步去 Discord 问