好的,我知道已经发布了很多关于从IP地址获取位置数据的问题,但我的问题有点独特;另外,我仍然没有充分了解这些讨论中发布的概念,以拼凑我的特殊谜题。
在我的Java程序中,我从包含攻击IP的安全威胁信息的数据库中提取数据。我想在地理定位器中使用该攻击IP地址,然后在我的GUI中显示它。
引用此IP位置概念的大多数其他问题都涉及到javascript,这让我有点遗憾。我也看过推荐geoGoogle API,但好像他们现在有限制:http://geo-google.sourceforge.net/index.html
最好的解决方法是什么,或者最适合哪种工具?我是初学者编程,我担心我没有处理这类问题/任务的经验。
答案 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 tutorial和this example。
MaxMind还提供paid web services,如果您更喜欢这条路线。