一句话规则#
每个请求相互独立时使用轮换;目标会关联多个请求(登录、购物车、分页搜索、多步骤表单)或检查一致性时,则使用粘性会话。
决策表#
| 任务 | 模式 | 用户名 |
|---|---|---|
| 按 URL 收集商品页面 | 轮换 | USER-cc-de |
| 搜索后打开三个结果页面 | 粘性,5 分钟 | USER-cc-de-sid-q17-ttl-5m |
| 加入购物车、结账并确认 | 粘性,30 分钟 | USER-cc-us-sid-order42-ttl-30m |
| 登录并以同一用户身份操作一天 | 粘性,24 小时 | USER-cc-gb-sid-acct9-ttl-24h |
| 连续数周保持同一地址 | 不使用会话:改用 ISP 代理 | 列表中的 ip:8000 |
| 从多个城市抽样搜索结果页 | 轮换,每个请求指定城市 | USER-cc-us-city-chicago |
网关如何决定出口#
- 新的 TCP 连接只是新的传输连接,不代表出口必然改变。路由取决于网关为服务配置的轮换模式。
- 如果交付的网关支持会话标识,请为每个独立流程使用不同标识。允许的持续时间和地区参数应以连接信息为准。住宅设备可能提前离线,因此持续会话不保证数日使用同一 IP。需要固定地址时,应比较独享静态产品。
- 更换会话标识会在支持此功能的网关上请求独立路由会话,但不保证获得不同或未使用过的 IP。应比较实际返回的地址,而不是根据用户名推断。
- 空闲超时可能来自客户端、网关、出口或目标服务器。记录出错前的时间,并核对连接与读取超时及已交付服务的设置。连接重置本身不能证明住宅出口离线;调整配置前先用小型请求重现问题。
连接保持陷阱#
连接复用与 IP 分配是不同的机制。客户端会话复用套接字,而轮换与持续会话由实际交付的网关控制。请使用服务中提供的会话参数,并通过多次请求检查出口。关闭连接或发送 Connection: close 并不保证获得另一个 IP。
重试#
重试前先判断响应原因。403 可能来自访问规则,更换 IP 不一定有效。遇到 429 时遵守 Retry-After 并降低请求速率;临时网络或服务器故障可采用有限次数的退避重试。会修改数据的操作必须防止重复执行。
并行处理#
不同会话标识只区分路由偏好,不会隔离浏览器 Cookie 或应用状态。先用少量并发任务测量错误率和流量,再按照订单确认的限额及目标网站限制逐步增加。限定城市或运营商可能减少可用容量。
大家常问的问题#
粘性会话更贵吗?
不会。无论出口是否轮换,每 GB 流量的价格都相同;会话 ID 只改变路由,不改变价格。
可以让会话持续超过 24 小时吗?
住宅代理池不支持。若地址必须连续数周保持固定,请租用 ISP 代理:静态、独享且流量不限。