当前位置: 首页 > 面试题库 >

Java库从ipaddress获取地理代码

陶涵育
2023-03-14
问题内容

我的应用程序知道用户的IP地址。我们需要识别用户的城市,州,国家以及用户的纬度和经度。

是否有一个Java库可以做到这一点?

如果没有,将IP地址转换为地理位置的算法或数据源是什么?


问题答案:

http://www.maxmind.com/app/developers提供了本地数据库和java类,用于根据IP地址计算位置信息。我做了一些测试。结果似乎很好。

bbc.co.uk: 212.58.241.131 : 51.283295,-0.23330688;Tadworth,N7,United Kingdom,null
home: 76.126.242.196 : 37.369705,-122.0214;Sunnyvale,CA,United States,94086
google.com: 74.125.224.133 : 37.419205,-122.0574;Mountain View,CA,United States,94043
tcs.in: 202.71.129.225 : 28.666702,77.216705;Delhi,07,India,null
ebay.com: 66.135.205.13 : 37.280304,-121.956696;Campbell,CA,United States,95008
etrade.com: 12.153.224.22 : 34.091797,-84.2209;Alpharetta,GA,United States,30005
whitehouse.gov: 72.247.136.110 : 42.362595,-71.0843;Cambridge,MA,United States,02142

这是我使用的junit测试用例的链接GeoLiteCityTest.java

MaxMind提供Java类,但不提供jar。因此,我创建了一个maven项目,该项目可以构建代码并生成jar。这是GitHub项目https://github.com/snambi/GeoIP

如果需要在maven项目中使用此库,请添加以下依赖项

<dependency>
   <groupId>org.geomind</groupId>
   <artifactId>geoip</artifactId>
   <version>1.2.8</version>
</dependency>

在pom.xml中的“存储库”下添加以下存储库配置

<repository>
   <id>geoip</id>
   <url>http://snambi.github.com/maven/</url>
</repository>


 类似资料:
  • 地址 # ipaddress_addresses.py import binascii import ipaddress ADDRESSES = [ '10.9.0.6', 'fdfd:87b5:b475:5e3e:b1bc:e121:a8eb:14aa', ] for ip in ADDRESSES: addr = ipaddress.ip_address(ip)

  • 我对许多AJAX调用运行安全检查,以查看是否有记录在案的相同IP请求。 我使用了以下一组类函数来建立IP(可以通过负载平衡器来实现,因此采用了纵向方法)。 问题是,我的用户通过代理进行操作时遇到了问题。有人能说明原因吗?我已经使用基本免费代理的在线尝试和模拟,但它似乎没有得到可变IP或任何东西-所以我不知道为什么这会说这两个IP不匹配。

  • 出于特殊原因,我需要同时使用 (又名高级消费者)和 (又名低级消费者)来读取 Kafka。对于 ,我使用基于 ZooKeeper 的配置,并且对此完全满意,但 需要实例化种子代理。 我不想同时保留动物园管理员和经纪人主机的列表。因此,我正在寻找一种方法,从ZooKeeper中自动发现特定主题的经纪人。 由于一些间接的信息,我相信这些数据存储在ZooKeeper中的以下路径之一: < li > <代

  • 问题内容: 可以在Spring中获取给定对象的代理吗?我需要调用子类的函数。但是,很明显,当我直接拨打电话时,这些方面均未应用。这是一个例子: 我找到了一种实现此目标的方法。它有效,但我认为不是很优雅: 问题答案: 请考虑重构你的代码或使用AspectJ编织。你可能会感到警告,这是解决方案

  • 问题内容: 有没有人知道您是否可以在Maven存储库中找到源JAR? 问题答案: Maven Micro-Tip:获取源代码和Javadocs 在IDE中使用Maven时,经常会发现IDE需要解析库依赖项的源代码和Javadocs。有一个简单的方法可以实现该目标。 第一个命令将尝试下载pom文件中每个依赖项的源代码。 第二个命令将尝试下载Javadocs。 Maven受这里的图书馆打包人员的摆布。

  • 我有一个辅助项目网站,人们可以在那里评论东西,现在我需要显示用户的评论和评论者的用户名。问题是,我无法获得登录用户的用户名。 评论示例: 1) 评论人-Shelo 测试评论 2) 评论人-ProGa 测试评论2 现在的问题是,如果我试图获取“当前登录”用户的用户名,当用户登录时,两条评论都会有相同的用户名 上面的代码示例是您当前登录用户的方式。因此,如果我使用这段代码,并尝试通过