快速答案
轮换代理与粘性代理:有什么区别?
轮换代理与粘性代理:轮换代理为每个新连接分配不同的出口 IP,而粘性代理则在设定时间内保持同一 IP;Nameless Proxy 在每个住宅代理套餐中都包含这两种类型,起价为 US$0.53/GB,无需 KYC,支持加密货币支付。大量独立请求使用轮换代理,多页面流程使用粘性会话 最长 60 分钟。无需 KYC — 无需身份证、自拍或文件。支持加密货币支付。
轮换代理与粘性代理一览
| 旋转会话 | 每个新连接分配一个新的出口 IP;当用户名无会话 ID 时为默认设置 |
|---|---|
| 粘性会话 | 同一会话 ID 的所有连接使用相同的出口 IP,最长 60 分钟 |
| 如何切换 | 在用户名中添加或删除 -session-{id}-ttl-{minutes} |
| 用户名格式 | USERNAME-country-{cc}-city-{city}-session-{id}-ttl-{minutes} |
| 额外费用 | 无:每个住宅代理套餐均包含两种会话类型 |
| 专用4G/5G端口 | 保持 IP,直到通过链接、API 或定时器主动轮换 |
| 价格 | 住宅代理起价 US$0.53/GB;专用端口起价 $2.63/天 |
| KYC 和支付 | 无需 KYC;仅支持加密货币支付(BTC, USDT, USDC, ETH, SOL, LTC) |
什么是轮换代理?
轮换代理是一个代理端点,每次新连接都会通过池中不同的 IP 地址发出请求。您只需保持一个主机、一个端口和一套凭证;网关会为您更换出口 IP。
核心优势是分散。成千上万的请求来自成千上万个家庭 IP,看起来像成千上万的独立访问者,而非单一服务器,且单个 IP 负载较轻。这适合由独立请求组成的任务,每个请求互不依赖。
轮换代理如何工作?
每当客户端开启新连接时,网关都会选择一个新的出口 IP。在 Nameless Proxy,用户名无会话 ID(如 USERNAME-country-ma)表示“摩洛哥任意出口,每次连接均新分配”。
让人困惑的细节是“连接”一词。大多数 HTTP 客户端会保持连接并复用它来发送多个请求(保持连接)。对于 HTTPS,代理通过一个 CONNECT 隧道(RFC 9110)承载每个连接,因此该隧道内的所有请求均从同一出口发出。Python 中的 requests.Session,或浏览器标签页,可以保持使用同一 IP,直到连接关闭。
import requests
proxy = "http://USERNAME-country-ma:[email protected]:7777"
proxies = {"http": proxy, "https": proxy}
# New connection for each call: a different exit IP each time
for _ in range(3):
print(requests.get("https://api.ipify.org", proxies=proxies, timeout=30).text)
# One Session reuses its connection: usually the same exit IP
with requests.Session() as s:
s.proxies.update(proxies)
for _ in range(3):
print(s.get("https://api.ipify.org", timeout=30).text)什么是粘性会话?
粘性会话在多个连接间保持同一出口 IP,持续时间由您设定。通过在用户名中添加会话 ID 和分钟数来创建:所有使用同一 ID 的连接均从同一出口发出。
在 Nameless Proxy,粘性会话持续 最长 60 分钟。ID 是您自定义的任意短字母数字串,如 cart42。想要新 IP 时,创建新 ID 即可。
一个实际限制是:住宅代理出口是真实家庭连接。设备可能离线,导致会话在时间结束前切换到另一个出口。长流程需要重试。
什么是粘性住宅代理?
粘性住宅代理是指与粘性会话配合使用的住宅代理:在设定时间内保持同一家庭 IP,而非每个连接使用新 IP。它结合了家庭 IP 的信任度和多步骤流程所需的稳定性。以下示例均使用同一住宅代理套餐:
| 用户名 | 会话 | 您获得的内容 |
|---|---|---|
USERNAME-country-ke | 轮换 | 每个新连接分配一个新的肯尼亚出口 IP |
USERNAME-country-ke-session-a1-ttl-10 | 粘性,10 分钟 | 同一肯尼亚出口 IP,持续 10 分钟 |
USERNAME-country-ae-city-dubai-session-b2-ttl-30 | 粘性 + 城市,30 分钟 | 同一迪拜出口 IP,持续 30 分钟 |
USERNAME-country-ae-city-dubai-session-b3-ttl-30 | 新粘性会话 | 另一个迪拜出口,保持 30 分钟 |
城市可用性会随时间变化,仪表盘中显示。定位仅限城市级别:不支持 ASN、ISP 或邮编定位。
轮换代理还是粘性代理:我该选哪个?
问一个问题:下一个请求是否依赖于上一个请求的 IP?如果不依赖,则轮换。如果依赖,则保持粘性,直到流程结束,不再延长。
| 任务 | 会话 | 原因 |
|---|---|---|
| 爬取大量公开产品或列表页面 | 轮换 | 独立请求;负载分散到多个 IP |
| 大量 SERP 检查 | 轮换 | 每个查询独立 |
| 分页结果(第 1 页、第 2 页、第 3 页……) | 粘性,持续几分钟 | 有些网站将分页与访问者绑定 |
| 在一个城市进行本地价格检查 | 住宅代理 + 城市 | 读取价格、库存和配送时保持相同出口 |
| 在自己的网站上测试多步骤流程 | 住宅代理 | 流程中途更换 IP 会重置会话 |
| 按位置进行广告验证 | 每次检测保持粘性 | 每个着陆页保持一个稳定视图 |
混合设置在实际中是什么样的?
大多数真实项目同时使用两种会话类型。以一个团队为例,他们监控三个城市中一个产品系列的公开价格:
- 发现阶段使用轮换。 爬虫访问数千个公开类别和产品 URL,每次连接使用新的出口,因此没有单个住宅代理承担全部负载。
- 每个城市检查使用粘性。 每个城市,一个工作节点开启一个 10 分钟的粘性会话,带有城市定位,从同一个 IP 读取产品页面、配送预估和库存信息,确保三者数据关联。
- 失败时干净重启。 如果粘性出口断开,工作节点启动新的会话 ID 并重新执行该城市检查,避免在一条记录中混合两个 IP。
一个套餐和一个密码涵盖所有:只有用户名会变化。
如何设置轮换或粘性会话?
所有操作都在代理用户名中完成,因此你可以用一个套餐和一个密码混合两种会话类型。格式是 USERNAME-country-{cc}-city-{city}-session-{id}-ttl-{minutes};省略会话部分则自动轮换。
# Rotating: each run gets a new exit in Morocco
curl -x http://USERNAME-country-ma:[email protected]:7777 https://api.ipify.org
# Sticky: the same exit for 15 minutes, as long as you reuse session "job7"
curl -x http://USERNAME-country-ma-session-job7-ttl-15:[email protected]:7777 https://api.ipify.orgimport uuid
import requests
GATEWAY = "gw.namelessproxy.com:7777"
def proxies(country, sticky_minutes=None):
user = f"USERNAME-country-{country}"
if sticky_minutes: # a fresh session ID = a fresh exit IP
user += f"-session-{uuid.uuid4().hex[:10]}-ttl-{sticky_minutes}"
url = f"http://{user}:PASSWORD@{GATEWAY}"
return {"http": url, "https": url}
# Each worker keeps its own exit for 20 minutes
worker_proxies = [proxies("za", sticky_minutes=20) for _ in range(4)]
for p in worker_proxies:
print(requests.get("https://api.ipify.org", proxies=p, timeout=30).text)更多请求模式,httpx、aiohttp 和 Scrapy:Python 代理指南。首次连接和错误代码:快速入门指南。
移动代理如何选择:轮换还是粘性?
专用 4G/5G 端口像一个你可控的长粘性会话:它保持运营商 IP,直到你通过链接、API 或定时器轮换,或者运营商重新分配。新 IP 大约需要 5-15 秒,每个端口最多每 30 秒一次。脚本:如何轮换移动 IP。
轮换移动流量按 GB 计费,起价 US$1.50/GB,是轮换选项:池子为你更换运营商 IP,并支持国家定位。
我应该避免哪些错误?
- 假设每个请求都会轮换。 使用 keep-alive 时,轮换发生在每个连接。需要新 IP 时关闭连接。
- 多个工作节点共用一个会话 ID。 这样所有工作节点都会使用同一个 IP。给每个工作节点分配独立 ID。
- 请求过长的会话。 会话越短,住宅出口断开时损失越小。
- 流程中途轮换。 在自己网站的多步骤表单中途更换 IP 会重置流程。
- 不重试。 出口是真实设备;应带退避策略和新会话 ID 重试。
- 忽视规则。 会话不改变可接受使用政策:禁止假账户、规避封禁和凭证填充。
轮换代理与粘性代理:常见问题
轮换代理和粘性代理哪个更适合网页爬取?
大多数公开页面爬取用轮换:每个请求独立,负载分散到多个 IP。只有当网站将分页、筛选或购物车绑定访问者时,才使用短粘性会话。无论哪种方式,都要控制请求节奏;详见网页爬取。
粘性会话能持续多久?
在 Nameless Proxy,最长 60 分钟。你可以通过用户名中的 ttl 部分设置分钟数,例如 -session-cart42-ttl-30。复用相同会话 ID 可保持 IP;使用新 ID 则获得新 IP。
为什么我的轮换代理一直是同一个 IP?
因为客户端复用了一个连接。轮换发生在新连接时,HTTP keep-alive 或会话对象会保持同一隧道处理多个请求。想每次新出口,请为每个请求开新连接,或发送 Connection: close。
粘性会话能保证整个时间段内同一个 IP 吗?
不能。只要该出口在线,就保持同一出口。住宅出口是真实家庭连接,可能提前断开;会话会转到另一个出口。长流程要设计重试,并尽量缩短会话时长。
两个脚本能共用一个粘性会话吗?
可以:任何使用相同会话 ID 的连接都来自同一出口 IP。这在一个流程的两个步骤必须共用 IP 时很有用。独立工作节点应分配各自 ID,避免都加载同一住宅连接。
粘性会话或城市定位需要额外费用吗?
不需要。每个住宅代理套餐都包含轮换和粘性会话、国家和城市定位、HTTP、HTTPS 和 SOCKS5。流量按 GB 计费,起价 US$0.53/GB,以及 永不过期。更改会话或定位无需额外购买,因为都在用户名中完成。详见价格页面。
如何提前结束粘性会话?
在用户名中更改会话 ID。下一次使用新 ID 连接时会获得新的出口 IP,旧会话将在其时间结束时自动过期,无需调用或取消。如果多个工作线程共享旧 ID,请为每个线程分配一个新 ID,否则他们将继续使用旧出口。
来源 (1)
- RFC 9110 §9.3.6:CONNECT — IETF (June 2022)
每个套餐均支持轮换和粘性代理
住宅代理来自 US$0.53/GB,流量 永不过期。无需 KYC — 无需身份证、自拍或文件。支持加密货币支付。