0

有没有办法从IP地址获取国家,城市(通常:地理位置信息)。请注意,我的应用程序是 java。

我访问并尝试了许多 Web 服务,但没有找到合适的,我更喜欢自己编写。此外,我发现了一些 CSV 数据库,但这个解决方案根本不是可取的。请帮忙。

4

2 回答 2

5

您只需要MaxMind 公司提供的GeoIP 。

他们提供免费的 GeoIP2 数据库 - GeoLite2和几个GeoIP2 API(感谢 karel),包括用于读取数据库文件的 Java API。

在 GeoIP2 之前,有 GeoIP,现在他们称之为GeoIP Lecacy免费数据库可从 maven.orggithub下载的 Java 库仍然可用。

GeoIP Lecacy 将来可能会死,但是,现在,因为 GeoIP2 不提供 Java API 来读取数据库信息(例如GEO-533LITE 20150303 Build 1 Copyright (c) 2015 MaxMind Inc All Rights Reserved),所以我仍然在我的网站上使用它。我在 IRC 机器人中使用 GeoIP2 以从 GeoIP2 的多语言功能中受益。

于 2012-06-21T12:29:21.180 回答
0

每个国家/地区都有几个 IP 范围。

我不知道它的 Java 实现,但您可以使用http://services.ce3c.be/ciprg/的输出并创建自己的代码,根据 IP 地址给出国家/地区。

于 2012-07-18T10:07:07.767 回答