轮换代理是一种在你工作过程中为你提供不同 IP 地址的代理服务,可以在每次请求时更换,也可以按你设定的时间间隔更换。你连接到一个网关,提供商从一个庞大的 IP 池中选择出口 IP,这样你的流量就会分散到许多地址上,而不是集中在一个地址上。
最常见的形式是轮换住宅代理,每个出口 IP 都属于一个真实的家庭网络连接。网站看到的是你所选地点的一群普通访问者,而不是一台忙碌的服务器发出成千上万次请求。
本指南将解释轮换的工作原理、粘性会话如何融入其中、什么是反向连接网关,以及轮换何时是适合你业务的正确工具。
轮换代理的工作原理
使用轮换代理时,你不需要自己管理 IP 地址列表。你只需将抓取工具、浏览器或 HTTP 客户端指向一个主机和端口。每次请求到达时,提供商的网关会从其 IP 池中选择一个 IP,通过它转发请求,并将响应发回给你。
从你的代码角度看,请求之间没有任何变化。从网站的角度看,每次请求都来自不同的访客。
这个简单的设置解决了大规模采集公开网络数据时的主要问题:单 IP 限制。大多数网站会统计每个 IP 在一定时间内发送了多少请求。一个地址如果日夜不停地每隔几秒发送一次请求,看起来就像机器所为。而同样的流量如果分散在数千个地址上,看起来就是正常流量。
轮换与粘性会话
轮换代理通常支持两种会话模式。在两者之间做出选择,是你需要设置的最重要的选项。
按请求轮换
每次请求都会获得一个新 IP。这样可以实现最大程度的分散,但完全没有连续性。它适合每个请求都独立存在的工作,例如:
- 商品页和分类页
- 搜索结果页
- 目录和列表页面
- 库存和可用性检查
由于没有信息需要在请求之间延续,所以 IP 变化也不会导致任何问题。
粘性会话
粘性会话会在你选择的时间段内保持同一个 IP。只要请求之间相互依赖,就应使用它,例如:
- 登录并在账户内进行操作
- 添加商品到购物车并结账
- 使用游标或会话 cookie 翻页浏览结果
- 多步骤表单
将粘性时间窗口设置为能覆盖整个流程的最短时间。太短,IP 会在任务进行到一半时发生变化。太长,则会将比所需更多的流量集中在同一个地址上。
为什么 IP 变化会导致会话中断
这是导致大多数轮换问题的原因,而且很容易被忽视。
当你登录时,网站会给你的浏览器分配一个与该访问绑定的会话 cookie。如果下一个请求携带相同的 cookie,但来自不同的城市或国家,网站就会看到一个用户的位置在瞬间发生了跳跃。根据网站的不同,你可能会被要求重新登录、触发安全检查,或者完全失去会话。
代理并不知道你已经登录。保持同一个 IP 足够长的时间以覆盖会话所需的时长,这需要由你自己来负责。如果一个流程需要四分钟,那么一个比它多出几分钟的粘性窗口就能绰绰有余地覆盖它。如果工作需要在同一批账户上连续运行数天,轮换就不是合适的工具。ISP 代理在这种情况下更合适,因为它们会在你选择的计费周期内一直保持在同一城市和同一 ISP(ASN)上。
使用 Shifter 设置轮换
Shifter 通过一个网关 p.shifter.io:443 提供这两种模式,并通过 HTTP(S) 或 SOCKS5 使用用户名和密码进行身份验证。你可以在用户名中控制轮换、粘性会话和定向设置,而不需要在代码中处理。
# 按请求轮换:每次请求都获得一个新的美国住宅 IP
curl -x http://p.shifter.io:443 \
-U "customer-USERNAME-country-us:PASSWORD" \
http://ip-info.com/json
# 粘性会话:在 600 秒内为会话 abc123 保持同一个 IP
curl -x http://p.shifter.io:443 \
-U "customer-USERNAME-country-us-sid-abc123-ttl-600:PASSWORD" \
http://ip-info.com/json
# 带粘性会话的城市定向
curl -x http://p.shifter.io:443 \
-U "customer-USERNAME-country-us-city-new_york-sid-abc123-ttl-600:PASSWORD" \
http://ip-info.com/json
运行第一条命令几次,你会发现响应中的 IP 每次都会变化。如果没有会话 ID,IP 会在每次请求时轮换。添加 sid-<id> 可以保持一个 IP,添加 ttl-<seconds> 可以设置会话持续的时间。更改会话 ID,你就会获得一个新的 IP。
定向设置的方式相同。添加 country-us 指定国家,region-california 指定地区,city-new_york 指定城市,或 asn-7922 指定特定的互联网服务提供商网络。
Shifter 提供三种住宅 IP 池,你可以根据任务匹配合适的池:
- Full Geo: 支持国家、地区、城市和 ASN 定向。
- Country Geo: 仅支持国家定向。
- Non-Geo: 不支持定向,适用于不需要考虑位置的工作。
什么是反向连接代理
上文所述的单一网关通常被称为反向连接代理。提供商不会给你一份地址列表,而是给你一个端点,由它代你连接回 IP 池。
反向连接并不是住宅代理的另一种说法。反向连接描述的是 IP 的交付方式,住宅描述的是 IP 的来源。这两者是相互独立的,数据中心代理和移动代理也同样存在反向连接网关。
实际上,反向连接网关为你提供了:
- 只需配置一个端点。 你的工具在项目整个周期内都指向同一个主机和端口。
- 自动替换。 下线的 IP 会自动退出轮换,而你的代码不会察觉。
- 通过参数进行定向。 国家、城市和提供商的选择都通过凭据完成。
- 无需管理列表。 你无需自己构建、测试或刷新代理列表。
轮换代理对你业务的好处
以下是轮换本身带来的好处,区别于住宅 IP 本身所带来的一般性好处。
- 突破单 IP 速率限制。 当请求分散到一个庞大的 IP 池中时,每个地址每小时几十次请求的限制就不再重要。
- 运行大规模采集任务。 原本会导致单个地址被封禁的流量,分散到数千个地址上就变得不起眼了。
- 无需额外操作即可从封禁中恢复。 如果一个 IP 被封禁,下一次请求只需使用另一个即可。
- 检查多个地区。 比较多个国家的价格、广告或搜索结果,只需更改用户名,而无需为每个市场单独搭建配置。
- 更少的模式信号。 分散在众多访客之间的流量,不会表现出单个机器人那种稳定的节奏。
IP 池的规模在这里很重要,但只有在你需要时在线的那部分才算数。Shifter 的住宅网络覆盖 195+ 个国家的 2.05 亿以上 IP,在我们 2026 年 10 月 7 日的基准测试中,在所测量的 16 个网络中,它拥有最大的实时美国住宅 IP 池,在 250,000 次请求中发现了 212,212 个实时美国 IP。
轮换也有其局限性。它能分散流量,但不能让不可信的 IP 变得可信。如果针对一个会封禁服务器网段的网站轮换数据中心 IP,那么池中的每一个 IP 都会失败。请求模式、请求头和浏览器指纹同样重要。轮换改善的是网络层面,而良好的抓取实践负责其余部分。
何时使用轮换代理,何时不使用
在以下场景使用轮换代理:
- 网页抓取和大规模公开数据采集
- 跨零售商和电商平台的价格与库存监控
- 按国家或城市进行的搜索结果和排名跟踪
- 跨地区的广告验证
- 为 AI 系统采集训练和基础数据
在以下场景使用粘性会话或 ISP 代理:
- 账户管理和长时间的登录操作
- 社交媒体和广告平台账户
- 任何以被识别为同一访客为目的的任务
想更深入了解这一选择,请阅读我们对粘性住宅代理与轮换住宅代理的比较。
总结
轮换代理会通过一个网关改变你请求背后的 IP,可以在每次请求时更换,也可以按你设定的时间间隔更换。对于相互独立的请求使用按请求轮换,对于依赖同一 IP 的流程使用粘性会话。反向连接是从单一端点同时提供这两种功能的网关模式。
为任务设置正确的会话选项,大多数封禁问题就会迎刃而解。设置错误,无论偏向哪个方向,都会导致会话中断,或者让流量集中到网站容易察觉的地方。
找到正确设置的最快方法是在你自己的目标上进行测试。