对比
轮换代理和粘性代理,应该用哪一种?
简短回答每个请求相互独立时(如价格抓取和 SERP 查询)用轮换代理;网站需要在多个页面中识别为同一访客时(如购物车或后台面板)用粘性代理。在 Jade Proxies,粘性会话最长 30 分钟,两种模式每 GB 价格相同。
轮换代理和粘性代理有什么区别?
轮换代理为每个新连接分配一个新 IP;粘性代理则在你命名的会话内保持同一个 IP。在 Jade Proxies,IP 轮换规则如下:每个新连接都会从 IP 池中获取一个 IP,通常与上一个不同;如需每个请求都更换 IP,请每个连接只发送一个请求(关闭 keep-alive)。粘性会话时长为最长 30 分钟(IP 可能提前变更)。
| 对比项 | 轮换 | 粘性 |
|---|---|---|
| IP 何时变更 | 每个新连接 | 会话结束时;设备离线时会提前变更 |
| 用户名 | 不含会话参数 | 添加 session-{id} 和 ttl-{minutes} |
| 最长保持时间 | 一个连接 | 30 分钟 |
| 每 GB 价格 | 相同 | 相同 |
| 典型任务 | 数据抓取、SERP 查询、价格监控 | 购物车、后台面板、浏览器自动化 |
如何设置轮换或粘性会话?
两种模式都在代理用户名中设置,格式为 USERNAME-country-{cc}-city-{city}-session-{id}-ttl-{minutes}。去掉 session 和 ttl 参数即为轮换模式;加上它们即为粘性会话。
country-{cc}:两位国家代码,如jp、kr、in或th。city-{city}:城市,如osaka、mumbai或bangkok;可用城市因国家而异。session-{id}:任意自定义字符串;使用相同 id 的请求共享同一个 IP。ttl-{minutes}:会话时长(分钟),最长 30。
# Rotating: each new connection gets an IP from the pool
curl -x http://USERNAME-country-th-city-bangkok:[email protected]:7777 https://api.ipify.org
# Sticky: the same session id keeps one IP for up to 10 minutes
curl -x http://USERNAME-country-th-city-bangkok-session-cart42-ttl-10:[email protected]:7777 https://api.ipify.org
在 10 分钟内运行两次粘性命令,两次输出的 IP 相同,除非其背后的家庭设备离线;运行两次轮换命令,IP 通常不同。SOCKS5 客户端使用相同用户名连接端口 7778。
为什么 keep-alive 会导致不轮换?
轮换以连接为单位,而不是以请求为单位,因此复用同一连接的客户端会让该连接上的所有请求都走同一个 IP。HTTP keep-alive、连接池(如 Python 的 requests.Session)以及 HTTP/2 多路复用都会复用连接。要让每个请求都换 IP,请每个请求单独开一个连接:不使用 session 直接调用 requests.get,或发送请求头 Connection: close。Python requests 使用指南 演示了这两种写法。
浏览器则会带来相反的问题。浏览器加载一个页面会打开多个连接,因此在轮换模式下,同一页面的 HTML、脚本和图片可能经由不同 IP 返回,导致将访问绑定到单一地址的网站出错。应为每个浏览器配置文件或 Playwright 上下文分配各自的粘性会话。
按请求轮换还会消耗更多流量:每个新连接都要重新进行 TLS 握手,而流量统计包括经由代理发送和接收的全部数据,包括请求头。
不同任务应该用哪种模式?
请求相互独立时选轮换;网站会跨页面跟踪访客时选粘性会话:
| 任务 | 模式 | 用户名设置 | 原因 |
|---|---|---|---|
| Shopee 或 Lazada 商品页 | 轮换 | country + city,关闭 keep-alive | 每个页面相互独立 |
| Google 日本或 Naver 排名查询 | 轮换 | country + city | 每个 IP 一次查询,分散负载 |
| 落地页广告验证 | 粘性 | ttl-1 至 ttl-5 | 页面及其广告请求共享一个 IP |
| 购物车与结账测试 | 粘性 | ttl-10 至 ttl-30 | 购物车与访客绑定 |
| 自有账户的后台面板 | 粘性 | ttl-30,固定一个 id | IP 变更时登录可能失效 |
| Playwright 或 Puppeteer 运行 | 粘性 | 每个浏览器上下文一个 id | 浏览器会打开多个连接 |
| 管理品牌社交账号 | 独享移动端口 | 仅在需要时轮换 | 需要连续多天使用同一 IP |
| 酒店与机票价格监控 | 轮换 | country + city | 每次搜索相互独立 |
Shopee 和 Lazada 抓取指南 介绍了如何将这些设置应用于电商平台抓取。
30 分钟不够用怎么办?
使用独享 4G/5G 端口,其移动运营商 IP 何时变更由你决定:可通过轮换链接或 API 调用按需更换 IP,最多每 30 秒一次,或设置自动定时更换,间隔从 2 分钟到 24 小时不等。根据我们的价格表,30 天南亚及东南亚套餐的端口每小时 $0.08($59.25 ÷ 720 小时),日本、韩国、台湾、香港或新加坡则为每小时 $0.12($89.25 ÷ 720 小时)。
端口流量:按天计费而非按 GB 计费,遵循合理使用原则(移动运营商可能对超大流量使用限速或暂停);每次轮换都会使端口重新连接移动运营商,通常需要 5–15 秒。移动代理页面 列出了各国的移动运营商。
为什么粘性 IP 会在会话结束前变更?
粘性住宅 IP 可能提前变更,因为它属于真实的家庭设备,而该设备随时可能离线,从而结束会话。请在客户端中加入重试逻辑:当请求失败或出口 IP 变更时,启用新的会话 id 并重新执行该步骤。
轮换与粘性流量价格相同,从 1 GB $1.50 到 100 GB 起 $0.50/GB,详见价格页面。
常见问题
Jade Proxies 的粘性会话能持续多久?
最长 30 分钟,通过用户名中的 ttl-{minutes} 设置。如果其背后的家庭设备离线,IP 可能提前变更,因此请在客户端中加入重试。
如何让每个请求都换一个新 IP?
用户名中不要加会话参数,并且每个连接只发送一个请求,关闭 keep-alive。每个新连接都会从 IP 池中获取一个 IP,通常与上一个不同。
可以同时运行多个粘性会话吗?
可以。为每个会话分配独立的 id,例如每个浏览器配置文件或每个购物车测试一个。每个 id 作为独立会话处理,各自拥有来自 IP 池的出口 IP。
数据抓取用轮换还是粘性更好?
大多数抓取任务用轮换更好:商品页和搜索结果都是独立请求,分散到大量 IP 上可降低单个地址的负载。仅在跨多个页面的流程中才切换为粘性会话。
粘性会话会更贵吗?
不会。轮换与粘性流量每 GB 价格相同,从 1 GB $1.50 到 100 GB 起 $0.50/GB,且流量永不过期。