快速回答
如何在多个请求中保持相同的城市 IP?
在城市用户名中添加会话 ID 和生存时间:USERNAME-country-us-state-mo-city-st_louis-session-stl1-ttl-20要求 MetroProxies 将同一个圣路易斯 IP 保持最多 20 分钟。会话持续最长 30 分钟,可通过 ttl 参数按会话设置;IP 可能提前更换。包含在US$0.50/GB及以上的计划中(2026 年 10 月)。无需 KYC;加密货币。
粘性会话如何工作?
| 段 | session-{id}和ttl-{minutes},在城市或 ZIP 之后 |
|---|---|
| 最大值 | 最长 30 分钟,可通过 ttl 参数按会话设置;IP 可能提前更换 |
| 会话 ID | 你选择的字母和数字;新 ID 会提供新 IP |
| 轮换模式 | 每个新连接会从 IP 池中分配一个 IP,通常与上一次不同;如需每个请求都使用新 IP,请每连接发送一个请求(关闭 keep-alive) |
| 费用 | 包含;仅按流量计费 |
何时需要粘性会话?
当一项检查的步骤必须来自同一地址时。
- 你自己网站上的多页面流程: 添加到购物车、选择商店、查看运费估算。中途更改 IP 可能会重置网站选择的位置。
- 前后对比: 加载页面,更改一个设置,从同一 IP 再次加载。
- 首次访问时设置位置的页面: 一些网站将检测到的城市存储在 cookie 中;保持 IP 以便 cookie 和 IP 一致。
对于广泛样本(100 个城市,每个一页),轮换模式更简单:每个新连接在请求的城市中获得一个新 IP。
运行多个城市时如何命名会话?
每个城市和每次运行使用一个会话 ID,以便结果永远不会意外共享 IP,并且重试会获得新的 IP。
-city-boise-session-boi20261018a-ttl-15-city-spokane-session-spo20261018a-ttl-15- 失败后重试时:更改后缀(
...b)以获取新 IP。
简短、可读的 ID 使日志易于阅读:城市代码、日期和一个字母就足够了。不要在不同城市之间重复使用相同的 ID。
如果 IP 在 TTL 之前更改会怎样?
可能会发生:最长 30 分钟,可通过 ttl 参数按会话设置;IP 可能提前更换。住宅 IP 属于家庭设备;如果该设备离线或其提供商续订地址,会话无法保持它。
在代码中处理:
- 在会话开始时记录出口 IP(一次查询请求)。
- 如果后续步骤因连接错误而失败,再次检查出口 IP。
- 如果它改变了,使用新的会话 ID 重新启动流程,而不是在一个结果中混合两个 IP。
保持 TTL 尽可能短,以满足流程需要。5 分钟的流程不需要 30 分钟的会话,较短的会话较少受到设备更改的影响。
import requests
GATEWAY = "gw.metroproxies.com:7777"
def session_for(user: str, password: str, state: str, city: str, sid: str, ttl: int = 15) -> requests.Session:
name = f"{user}-country-us-state-{state}-city-{city}-session-{sid}-ttl-{ttl}"
proxy = f"http://{name}:{password}@{GATEWAY}"
s = requests.Session()
s.proxies = {"http": proxy, "https": proxy}
return s
def exit_ip(s: requests.Session) -> str:
return s.get("https://api.ipify.org", timeout=30).text.strip()
s = session_for("USERNAME", "PASSWORD", "mo", "st_louis", "stl20261018a")
first = exit_ip(s)
# ... your multi-step check on your own site goes here ...
if exit_ip(s) != first:
print("IP changed during the flow: restart with a new session ID")
接下来该去哪里?
用 代理位置检查器 检查出口,用会话进行 本地价格检查 和 按城市检查广告,并在 用户名格式 中查看每个区段。更多内容见 指南页面。
关于粘性会话,人们还会问什么?
我能把某个城市的 IP 保留一整天吗?
不能。最长 30 分钟,可通过 ttl 参数按会话设置;IP 可能提前更换。对于一整天的工作,让城市保持不变并接受 IP 会变化;在每条结果旁记录 IP。
粘性会话会更贵吗?
不会。你只需为流量付费,无论会话是轮换还是粘性。
我一次能运行多少个会话?
每个会话 ID 都是独立的,你可以从一个账户并行运行多个会话。对每个目标保持适度的请求速率并遵守其条款;参见 可接受使用政策。