如何通过服务器端的 IP 地址估算用户位置?
How can I approximate user location through their IP address on server side?
我知道有这样做的 API,但我想尽可能便宜地在本地这样做(不影响猜测的质量)。
对于本地解决方案,您可以使用数据库文件。您可以在下面找到准确度几乎有限的免费搜索:
- Maxmind:https://dev.maxmind.com/geoip/geoip2/geolite2/
- Ip2 位置:https://lite.ip2location.com/database/ip-country-region-city-latitude-longitude-zipcode-timezone
存在准确性更高的付费变体。但是,在使用本地数据库文件时,您应该问自己一些问题:
- 是否要自己实现本地数据库文件loading/lookup?
- 您知道如何在不中断服务的情况下更新数据库文件(IP 分配经常更改)吗?
- 您的解决方案是否满足您的需求(在 requests/second 和延迟方面)?
- 不需要推断瞬态信息(时区、货币等)吗?
如果前面一个问题的答案是否,您很可能应该使用 IP 地理定位 API。我建议看看我的服务,Ipregistry:它快速、可靠且便宜。
我知道有这样做的 API,但我想尽可能便宜地在本地这样做(不影响猜测的质量)。
对于本地解决方案,您可以使用数据库文件。您可以在下面找到准确度几乎有限的免费搜索:
- Maxmind:https://dev.maxmind.com/geoip/geoip2/geolite2/
- Ip2 位置:https://lite.ip2location.com/database/ip-country-region-city-latitude-longitude-zipcode-timezone
存在准确性更高的付费变体。但是,在使用本地数据库文件时,您应该问自己一些问题:
- 是否要自己实现本地数据库文件loading/lookup?
- 您知道如何在不中断服务的情况下更新数据库文件(IP 分配经常更改)吗?
- 您的解决方案是否满足您的需求(在 requests/second 和延迟方面)?
- 不需要推断瞬态信息(时区、货币等)吗?
如果前面一个问题的答案是否,您很可能应该使用 IP 地理定位 API。我建议看看我的服务,Ipregistry:它快速、可靠且便宜。