我正在尝试获取用户向我的服务器发送请求的国家/地区。
到目前为止,我已经找到了这些解决方案:
https://github.com/fiorix/freegeoip
https://github.com/maxmind/GeoIP2-java
这些解决方案使用具有许可证的 MaxMind 数据库 GeoIP2 Country Database,对于这个特定项目,我对图书馆有限制(由于业务的法律方面)
我发现一些主题提到 Google API 可以提供此服务,但我对此并不感兴趣,因为我想要一个我可以自己托管并且使用 Java 或 Kotlin 实现的解决方案。
是否有人知道与提到的不同的解决方案(在后端运行)?
最佳答案
我编写了一个小服务,它根据我从 http://ipverse.net/ 获得的数据返回国家/地区。
它应该是免费的,但如果我错了,请纠正我。根据网站,数据由五个大 RIR 提供。
该网站在早上 5 点左右更新其数据。更新 IP block 的 Cron 作业安排在早上 6 点。我猜数据应该是准确的。
*编辑 我已经复制了算法并创建了一个 github 操作来保持更新,请查看:https://github.com/jaecktec/ncc-inetnum-parser
关于java - 如何在后端获取 HTTP 请求的用户所在国家/地区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46464092/