先说一个能省掉大量排查时间的判断:大多数任务只需要国家级定向。收窄到城市、再收窄到具体运营商,换来的不是更准,而是更小的可用 IP 池、更高的连接失败率和更难复现的问题。只有在这三类场景下,把粒度压到城市或 ASN 才有实际收益:
- 本地化投放核验——广告在某城市的展示位、本地搜索结果、店铺配送范围提示,这些页面的内容会随城市变化;
- 区域比价与库存监控——同一商品在不同城市门店的价格、配送时效、到货状态;
- 特定运营商链路测试——需要确认页面在某家宽运营商或某移动网络下的表现,或目标平台对某类网络有差异化策略。
如果你只是采集全站商品列表、监控某国 SERP 排名、给账号配一个稳定出口,国家级加上正确的网络类型(家宽还是机房)就足够,不要主动往里塞城市参数。
动态代理:参数写在账密里还是写在 API 里
动态住宅池的定向有两种传参方式,取决于你的接入方式。
账密接入是最常见的写法:在基础用户名后面用连字符拼参数,密码不变。行业里通用的形态是这样:
用户名-country-us-city-newyork:密码@网关域名:端口
用户名-country-us-asn-7922:密码@网关域名:端口
用户名-country-us-state-ca-city-losangeles-sessid-a1b2c3:密码@网关域名:端口几条填写规范是跨服务商基本一致的:
- 国家用两位 ISO 代码,小写为主(us、gb、de、jp)。
- 城市名通常要转小写并去掉空格,
New York写成newyork。也有服务商要求用下划线(new_york)或加号连接,这一点各家不同,写之前先在自己面板的提取页面或文档里确认一次,拼错的后果往往不是报错提示,而是被当成无效用户名直接返回 407 认证失败,很容易误判成密码错了。 - ASN 填纯数字,比如 Comcast 是 7922、T-Mobile 是 21928。有的服务商接受
AS7922这种带前缀的写法,有的只认数字,同样以自己面板口径为准。 - ASN 一般要和国家一起给,单独给一个 ASN 而不限定国家,在跨国运营商上会出现你不想要的落点。
- 定向参数和会话参数可以叠加,粘性会话的 session 标识和城市参数写在同一串里互不冲突。会话本身怎么设置、多久掉一次,可以看粘性会话怎么设置才不会中途掉登录态。
API 提取接入则是把这些条件填在提取链接的查询参数里,面板通常提供国家、州省、城市的下拉选项,选完直接生成链接。好处是选项是服务商预置的、不会拼错;限制是一次生成的链接条件固定,想动态切城市就得生成多条。两种接入的取舍在API提取和端口转发有什么区别里有更细的对比。
定向越细,越要准备降级路径
动态池是活的,某个城市在某个时刻可能一个活跃节点都没有。这时网关的典型反应是返回 502 Bad Gateway 或直接无法路由,而不是「悄悄给你换个邻近城市」——后者反而更危险,因为你不知道数据是从哪采回来的。
所以任何带城市或 ASN 的任务,脚本里都应该写好降级顺序:
city + asn → city → state/region → country每降一级记一条日志,标明这批数据的实际定向层级。事后分析时你才能知道哪些结论是真正的城市级数据。同时限定冷门城市和指定 ASN 是最容易踩空的组合,除非是明确的运营商对比测试,否则不建议一上来就这么配。
静态 IP:定向在下单时选,不在用的时候拼
静态住宅 IP 的逻辑完全不同。它是独占的固定出口,地区和网络属性在下单那一刻就确定了,之后用账密或端口直接连即可,不需要也不应该在用户名后面拼城市参数。如果你给静态 IP 拼了轮换或定向后缀,多半会直接认证失败。
下单时要确认的是三件事:
- 国家和可选城市——静态资源的城市列表比动态池窄得多,热门城市通常有,冷门城市要看库存。
- 网络属性——家宽原生、家宽广播、数据中心 ISP,这三类在目标平台眼里完全不是一回事。差别和适用场景见静态长效住宅IP的家宽原生和家宽广播有什么区别。
- 租期——按小时/天的短效,还是按月/年的长效,取决于业务周期而不是价格,判断依据可以参考静态短效和静态长效住宅IP该怎么选。
需要注意的是,静态资源的 ASN 通常是「按网络属性归类」而不是「按运营商点名」。你可以选家宽原生,但不一定能指定必须是某家运营商的某个 ASN——这个要在下单前问清楚可选范围,别按动态池的习惯去预期。

到手怎么验:三步,别只看一个接口
拿到通道后,在跑业务之前先做这三步。
第一步:单次 curl,看四个字段
curl -x http://用户名-country-us-city-newyork:密码@网关域名:端口 \
https://ipinfo.io/json返回里重点看四个字段:
| 字段 | 看什么 |
|---|---|
ip | 出口地址,静态 IP 要和面板给的一致 |
city / region | 城市和州省是否命中你填的参数 |
country | 国家,一般不会错,错了说明参数根本没生效 |
org | 形如 AS7922 Comcast Cable,同时给出 ASN 和运营商名 |
SOCKS5 通道把 -x 改成 --socks5-hostname 即可,注意用 hostname 形式让 DNS 也走代理,否则容易出现 IP 在美国、DNS 在本地的割裂状态。
第二步:换一个库交叉核对
curl -x http://用户名:密码@网关域名:端口 \
http://ip-api.com/json/?fields=status,country,regionName,city,isp,org,as,asname为什么要两个库?因为 ASN 和城市的可信度完全不在一个量级。
ASN 来自全局 BGP 路由表,是确定性信息,不同查询工具给出的结果几乎不会打架。如果 ipinfo 说 AS7922、ip-api 说另一个号,那大概率是你查询期间出口已经轮换了,而不是数据库分歧。
城市则是商业 IP 库根据运营商分配记录、延迟测量等推断出来的,MaxMind、IPinfo、IP2Location 三家对同一个 IP 给出相邻城市甚至跨城结果都很常见,尤其是运营商核心机房所在地的地址段。所以城市字段的验收标准不该是「三家全对」,而是:
- 两家以上落在目标城市或其都会区内 → 可用;
- 各家结果分散在几百公里外的不同城市 → 这条不可用;
- 结果一致但都不是你要的城市 → 定向参数没生效,回头查拼写。
真正的裁判其实是目标业务系统自己用的那个库。如果你监控的电商平台把这个 IP 判在芝加哥,那它给你的就是芝加哥的价格和库存,不管 ipinfo 怎么说。有条件的话,直接看目标站点自己的「当前位置」「配送至」提示,比任何第三方库都准。更系统的分层判据在如何判断海外住宅IP的地理位置精准度里写过。
第三步:动态池要测命中率,不是测一次
动态定向的验收不能只看一次 curl 成功。写个循环抽样,跑几十次,统计三个数:
for i in $(seq 1 50); do
curl -s -x http://用户名-country-us-city-newyork-sessid-$RANDOM:密码@网关域名:端口 \
https://ipinfo.io/json | jq -r '[.ip, .city, .org] | @tsv'
sleep 1
done | tee city_check.tsv看三件事:请求失败率(502/超时占比)、城市命中率(city 字段等于目标城市的比例)、IP 去重数(50 次出了多少个不同 IP,反映这个组合下池子有多大)。如果命中率偏低或去重数只有个位数,说明这个城市的库存撑不住你的并发量,要么放宽到州省,要么和服务商确认该城市的资源情况。
ASN 定向同理,把统计字段换成 org 里的 AS 号。ASN 的命中率通常应该接近全中,如果经常落到别的运营商,参数写法八成有问题。
静态 IP 的额外两项
静态出口除了上面的字段核对,绑店铺后台或社媒之前还要看时区与 IP 归属是否自洽、这条 IP 上是否有明显的历史风险标记。这部分和浏览器环境配合才有意义——出口在纽约但浏览器报的时区、语言是另一套,照样对不上。环境侧归 NexBrowser 管,出口侧的检查清单见店铺后台绑定静态住宅IP前要验哪几项。
常见故障对照
- 407 认证失败:先怀疑定向参数拼写(城市名格式、ASN 前缀、分隔符),而不是密码。把参数全去掉、只用基础用户名试一次,能连上就说明问题在参数串。
- 502 / 无法路由:该定向组合当前无可用节点,按降级顺序退一级。
- 连得上但城市不对:参数被网关忽略了(不支持该城市,静默回退到国家级)。这种最隐蔽,只能靠上面的抽样统计发现。
- 白名单模式下定向失效:部分服务商的定向参数只能通过账密后缀传递,白名单认证下没有地方写参数。两种认证的取舍见代理IP账密认证和白名单认证怎么选。
按任务选出口
把上面的判断收拢成一句话:需要在多个城市之间切换、每次请求可以换 IP 的,用动态池加定向参数;需要长期固定在一个城市、一个运营商下的,用静态 IP 在下单时就定死。
- 城市级比价、本地 SERP 监控、广告投放核验这类要频繁换落点的任务,走 NexIP 的动态住宅流量套餐按流量计费更好控成本;如果是长时间跑的高并发采集,用量估不准时可以看动态住宅带宽套餐这种按带宽计费、不限流量的形态。
- 店铺后台、社媒账号、需要固定出口的运营任务,用静态住宅长效 IP,在家宽原生、家宽广播、数据中心三类里按平台要求选;短周期项目或临时核验用静态短效 IP。TK 运营这条线官网明确建议用静态家宽原生,分档方式在TK运营该用哪一类住宅IP里拆过。
NexIP官方博客
评论(0)