【问题标题】:Geolocation IP in Java [closed]Java中的地理位置IP [关闭]
【发布时间】:2012-06-23 16:22:50
【问题描述】:

有什么方法可以从IP地址获取国家、城市(一般是:地理位置信息)。请注意,我的应用程序是 java。

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

【问题讨论】:

  • 您可能可以做到,但您的结果将是近似的。事实是,我可以将我的服务器分布在世界各地;你将无法知道我的内部拓扑结构。

标签: java geolocation ip


【解决方案1】:

您只需要GeoIP,由 MaxMind 公司提供。

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

在 GeoIP2 之前,有 GeoIP,现在他们称之为 GeoIP LecacyFree databasesdownloadable Java library from maven.orgfrom github 仍然可用。

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

【讨论】:

  • 谢谢。但我真的不喜欢这样的解决方案。我想知道是否有任何方法可以在我的 Java 代码中编写它。
  • 我不认为你可以使用纯java代码来计算它的地理位置,它背后必须有一些数据库(文件或关系)。甚至 GIS 系统都有底层数据库(如 POI 数据库)
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-09
    • 2011-12-07
    • 1970-01-01
    • 2020-04-16
    • 1970-01-01
    • 2010-09-29
    • 1970-01-01
    相关资源
    最近更新 更多