获取网页访问者的IP,ISP和地理位置



有没有办法为访问Java网站的用户获取ISP和地理位置?

获取 IP 很容易。这是request.getRemoteAddr().关于获取ISP和位置的任何提示?是否有任何可用的 API 或库?我猜你必须将所有IP映射到ISP。有什么想法吗?

Java中没有现成的解决方案。通常只有一种方法可以做到这一点 - 您应该使用 whois 协议从区域互联网注册器 (RIR) 访问有关主机 IP 的数据,例如从 http://www.db.ripe.net/whois。互联网上的其他解决方案或多或少将依赖于RIR+某些算法来处理数据。

可以使用

telnet 连接到 RIPE 或将数据库快照复制到您的服务器上。

唯一的问题是whois的输出不是很方便处理。一切都取决于您的应用和所需的精度。

尝试使用 MaxMind GeoIp Java API。更完整和准确的IP数据库是商业的,但他们有一个免费的乡村和城市"轻"数据库。

http://www.maxmind.com/app/java

最新更新