入门2026年9月29日阅读约 7 分钟

代理怎么用:四个参数和你的第一条请求

如何使用代理,从零开始:主机、端口、用户名和密码在哪里找,用 curl 和 Python 发出第一条请求,以及第一天最常见的三个错误。

代理怎么用?把四个值交给你的工具就行:主机、端口、用户名和密码。工具把请求发到这个主机和端口,用用户名和密码登录,代理再把请求转发出去,于是网站看到的是代理的 IP 地址,而不是你的。其余的一切,都是在这四个值上面加的细节。

这篇从一个新注册的账号讲起,一直到一条你能证明确实走了代理的请求,最后告诉你自己用的工具该看哪篇配置教程。

四个值是什么,在哪里找

每个 HTTP 代理连接都需要同样的四样东西:

  • 主机(Host)。 你的工具要连接的代理服务器地址。
  • 端口(Port)。 连接到那台服务器上的哪个端口号。
  • 用户名和密码。 代理靠它们知道这是你的流量、该从哪个余额里扣费。

在我们的控制台里,它们在服务页面上。你买的每项服务都在那里列出自己的主机、端口、用户名和密码,可以直接复制。我们没有一个人人共用的网关地址,所以本站所有代码示例都用 HOST、PORT、USERNAME 和 PASSWORD 代替你自己的值。

不同产品有几处不一样:

  • 住宅代理服务只有一组值,每条请求换一个 IP 还是保持一段时间,由控制台里的设置决定(下文会讲)。
  • ISP 代理和数据中心代理服务的页面会逐个列出你租的 IP,各自带端口和登录信息。每一个都是一个独立的代理。

多数工具要求把四个值拼成一个代理 URL:

http://USERNAME:PASSWORD@HOST:PORT

开头的 http:// 指的是你的工具和代理之间用的协议。即使你访问的网站是 https://,这里也保持 http://。访问 HTTPS 网站时,工具会请代理打开一条 CONNECT 隧道,加密连接从头到尾穿过这条隧道。SOCKS5 同样可用:住宅代理的端口两种都接受,ISP 和数据中心代理在控制台里切换。支持它的工具在这个位置写 socks5h://;HTTP 代理和 SOCKS5 的区别说明了什么时候用哪种。

如何使用代理发出第一条请求

先做最小的测试:问一个 IP 回显服务它看到的是哪个地址。api.ipify.org 只返回你的公网 IP,纯文本,别的什么都没有。

用 curl

先不走代理,确认你自己的地址:

curl -s https://api.ipify.org

再走代理:

curl -s -x http://USERNAME:PASSWORD@HOST:PORT https://api.ipify.org

两个数字应该不一样。如果你的密码里有 @、: 或 # 这类符号,就把登录信息单独传进去,免得 curl 从 URL 里解析出错:

curl -s -x http://HOST:PORT -U "USERNAME:PASSWORD" https://api.ipify.org

其余用法,比如环境变量、调试用的详细输出和配置文件,见 curl 配置教程。

用 Python

requests 库接受一个字典,把每种协议映射到一个代理 URL。两项都指向同一个 http:// 代理:

import requests

PROXY = "http://USERNAME:PASSWORD@HOST:PORT"
proxies = {"http": PROXY, "https": PROXY}

mine = requests.get("https://api.ipify.org", timeout=30).text
via_proxy = requests.get("https://api.ipify.org", proxies=proxies, timeout=30).text

print("my IP:     ", mine)
print("proxy exit:", via_proxy)
print("changed" if mine != via_proxy else "NOT changed: check the proxies argument")

如果密码里有特殊字符,拼 URL 之前先用 urllib.parse.quote(password, safe="") 编码。会话、重试和异步写法见 Python requests 配置教程。

怎么确认 IP 换了

上面的脚本已经比较了两个地址。第一天还值得花一分钟做三件事:

  1. 多跑几次。 住宅服务设成随机 IP 时,每次运行都应该打印一个不同的出口 IP。设成粘性 IP,或者用 ISP、数据中心 IP 时,每次都应该是同一个。
  2. 查一下 IP 归谁。 回显只告诉你地址,不告诉你它属于哪种网络。自己查 IP 类型讲了怎么用免费工具查出背后的网络。
  3. 看一眼用量日志。 你刚才的请求会出现在控制台里,带着主机、状态码和字节数。在真正的任务跑起来之前,先拿自己的测试请求学会读用量表,是个好办法。

住宅、ISP 还是数据中心?

买能用的里面最便宜的那个:网站本身打得开、只是想换个地区,就租数据中心 IP;遇到验证码、空白页或一上来就被封,就试住宅代理。登录需要连续几周用同一个地址,ISP IP 能一直替你保留;住宅还是数据中心把这个选择讲得更细。

轮换还是粘性?

轮换是每条请求换一个出口 IP,把大任务分散到很多地址上,多数抓取要的就是这个。粘性是在一段时间内保持同一个 IP,网站把登录或购物车和你的地址绑在一起时就需要它。在我们的住宅线路上,你在控制台里选随机 IP 或粘性 IP;选粘性时,控制台会生成一个带会话 ID 的凭据,按显示的样子整串复制即可。ISP 和数据中心 IP 是静态的,天生就是粘性的,想轮换就自己在列表里循环。轮换代理和粘性代理讲了各自适合什么场景。

下一步:配置你自己的工具

回显测试通过后,把同样的四个值搬到你真正用的工具里。下面每篇教程讲一种工具,一步一步来:

完整列表,包括 Scrapy、Playwright、Puppeteer 和 Node.js,见配置教程页。

第一天最常遇到的三个错误

407 Proxy Authentication Required

代理回应了,但不接受你的登录。几乎总是密码输错或被截断、复制时多了个空格,或者某个符号在 URL 里需要编码。从服务页面重新复制一遍,再试试上面 curl 的 -U 写法。修复 407 错误逐条讲了我们见过的所有原因。

超时

在规定时间内什么都没回来。如果每条请求都超时,先怀疑你到代理的连接:主机或端口写错、防火墙或公司网络挡了出站端口,或者服务已经到期。如果只是一部分超时,那是出口或目标站慢;住宅出口在别人家的宽带上,花的时间可能超过你默认的超时设置。代理超时错误教你区分这两种情况。

被封:验证码或 403

代理工作正常,是网站拒绝了你。这和目标站的防护有关,和你的配置无关。放慢速度,检查请求头,再想想这个站是不是需要住宅 IP。爬虫为什么开始被封里有一份检查清单。

在我们的用量表上,连接失败(超时、连接重置,以及我们自己网关返回的错误,比如 407 或 502)按零计费,照样显示并标为免费,所以第一次配置时连不上、登录不了,都不会吃掉你的余额。验证码或 403 页面是网站发回来的响应,它的字节算流量。细节见实话实说页的计量部分。

快速问答

用代理需要装专门的软件吗? 不需要。多数能发网络请求的工具都接受代理 URL:curl、Python、Node、浏览器,以及 Windows、macOS、安卓和 iPhone 的系统设置。

为什么 https:// 网站要用 http:// 代理地址? 这个协议描述的是你的工具怎么和代理通信。HTTPS 流量在这条连接里走 CONNECT 隧道,你和网站之间始终是加密的。

每次的 IP 都一样吗? 看产品。住宅设成随机 IP 时每条请求都换;粘性 IP、ISP 和数据中心则保持同一个地址。

用了代理就匿名了吗? 代理改变的是网站看到的 IP 地址。Cookie、登录状态和浏览器指纹仍然可能认出你,所以把代理当成换了一个地址就好,别指望更多。

先小额充值,跑一遍回显测试,再一步步往上加;当前价格见价格页。如果哪一步和文中说的不一样,把命令和报错贴到 Discord,很快会有人帮你看出来。

还有后续问题?

去 Discord 问。答案还能帮到下一个读到这个帖子的人。

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