如何将IP地址从数据库传递到地理定位器并返回数据?

时间:2013-07-05 06:29:15

标签: java sql geolocation ip ip-address

好的,我知道已经发布了很多关于从IP地址获取位置数据的问题,但我的问题有点独特;另外,我仍然没有充分了解这些讨论中发布的概念,以拼凑我的特殊谜题。

在我的Java程序中,我从包含攻击IP的安全威胁信息的数据库中提取数据。我想在地理定位器中使用该攻击IP地址,然后在我的GUI中显示它。

引用此IP位置概念的大多数其他问题都涉及到javascript,这让我有点遗憾。我也看过推荐geoGoogle API,但好像他们现在有限制:http://geo-google.sourceforge.net/index.html

最好的解决方法是什么,或者最适合哪种工具?我是初学者编程,我担心我没有处理这类问题/任务的经验。

1 个答案:

答案 0 :(得分:0)

由于您使用的是Java,因此您可能需要查看MaxMind的免费GeoLite database。您不需要SQL服务器来使用它,因为Java API直接从数据库文件中读取数据。您可以直接从MaxMind网站或Maven Central Repository下载API。

以下是使用GeoIP Java API的示例:

LookupService ls = new LookupService("/usr/local/share/GeoIP/GeoIPCity.dat");
Location location = cl.getLocation("213.52.50.8");
System.out.println(location.countryName);
System.out.println(location.city);
...

您可能还希望看到this tutorialthis example

MaxMind还提供paid web services,如果您更喜欢这条路线。