什么是 IP 地理定位?数据、用途与局限
IP 地理定位是通过将一个 IP 地址与一份维护中的地址段分配数据库或数据集进行比对,来估算该地址所代表连接的大致物理位置与所属网络——它是关于该连接的一种估算,而不是精确的位置或身份。
获取位置的两种方式:调用方地址与所提供地址
一个 IP 地理定位 API 可以按两种方式工作。调用方地址查询会解析发起该请求的那个 IP——从访问者浏览器中调用它,即可获得该访问者的大致位置,而无需自行管理任何地址。所提供地址查询会解析您已经掌握的某个 IP 地址,通常来自您的后端,适用于该地址并非来自当前请求的场景——例如,来自更早一次注册所存储的 IP,或从其他系统中记录下来的 IP。Watch-IP 的 GET /v1/geo 属于第一种;GET/POST /v1/lookup 属于第二种。混淆这两者是一种常见的集成错误:从您的服务器调用 GET /v1/geo,解析出的是您服务器自身连接的位置,而不是某个访问者的位置。
它能返回哪些数据
根据来源与端点的不同,结果可以包含 country、region、city、大致的 latitude/longitude、邮编、timezone、该连接所属的自治系统(网络运营方),以及诸如 currency 或区号之类的推算区域上下文信息。不同来源的可用字段并不相同:Watch-IP 的浏览器端点返回的字段比其所提供 IP 查询端点更多(包括 ASN,以及在符合条件的方案上提供的基于名单的网络指标),因为后者依托的是另一个覆盖范围更窄的数据库。各字段具体依据哪个来源,请参见数据来源页面。
它不能告诉您什么
IP 地理定位识别的是与某个网络地址相关联的位置,而不是设备的 GPS 位置或某个具体的人。移动运营商、VPN、企业网络或 CDN,都可能让解析出的位置与实际用户相距数公里甚至跨越国境。它无法验证身份、年龄或实际所在地,网络运营方的名称也不是某个人的名字。请将每个字段都视为在决策真正重要时需要向用户确认的一项提示,而不是可以默默强制执行的事实。
常见用途
常见用途包括建议(而非强制)某种语言、货币或地区;按国家进行路由或统计;为欺诈审查信号增加粗粒度的上下文,并与其他证据一并使用;以及为已经包含 IP 地址的后端记录添加补充信息。当您确实需要经过用户同意的精确地理定位时(浏览器自身的设备 Geolocation API),它并不能替代——相应权衡请参见浏览器地理定位与 IP 地理定位对比。
本文并未声称的内容
本页描述的是 IP 地理定位这一技术的一般情况,以及 Watch-IP 自身实现的具体情况;这并不是在声称包括 Watch-IP 在内的任何提供商能够将一个 IP 解析为确切地址。准确度会因国家、网络类型和 IP 版本而异——如需自行评估,而不是轻信一个未加说明的百分比,请参见准确度一文。
参考来源
由 Watch-IP 编辑团队撰写(2026-09-06)。已参照 apps/api/src/routes/geo.ts 与 apps/api/src/routes/lookup.ts 完成审校。