如何通过服务器端的 IP 地址估算用户位置?

How can I approximate user location through their IP address on server side?

我知道有这样做的 API,但我想尽可能便宜地在本地这样做(不影响猜测的质量)。

对于本地解决方案,您可以使用数据库文件。您可以在下面找到准确度几乎有限的免费搜索:

存在准确性更高的付费变体。但是,在使用本地数据库文件时,您应该问自己一些问题:

  • 是否要自己实现本地数据库文件loading/lookup?
  • 您知道如何在不中断服务的情况下更新数据库文件(IP 分配经常更改)吗?
  • 您的解决方案是否满足您的需求(在 requests/second 和延迟方面)?
  • 不需要推断瞬态信息(时区、货币等)吗?

如果前面一个问题的答案是,您很可能应该使用 IP 地理定位 API。我建议看看我的服务,Ipregistry:它快速、可靠且便宜。