如何从 IP 地址获知地理位置

Posted

技术标签:

【中文标题】如何从 IP 地址获知地理位置【英文标题】:How to know Geographic location from an IP address 【发布时间】:2011-09-20 04:46:25 【问题描述】:

我在我的 web 项目的 jsp/servlet 中创建了一个登录应用程序,我想知道访问我的登录页面的不同用户的地理位置。我怎么知道有人从哪里访问我的登录页面?例如:如果一个人从加拿大访问一个页面,那么一条记录将插入到我的数据库中,例如:IP:20.4.9.134 和位置:加拿大。

【问题讨论】:

【参考方案1】:

尝试使用地理 ip 数据库,例如 maxmind

这个问题列出了几种可能性:Reputable geo-ip location Services

【讨论】:

【参考方案2】:

我用这个:

http://freegeoip.net/xml/122.169.8.137

或者

http://www.geoplugin.net/xml.gp?ip=xx.xx.xx.xx

简单的调用,它会给你一个包含你需要知道的一切的 xml

编辑:geoip 的新位置

【讨论】:

如何在java中调用这个xml文件?你能简单解释一下吗 用正确的 url 创建一个 URL 对象并解析 xml 响应【参考方案3】:

您可以使用 MaxMind 的数据库(免费版): http://www.maxmind.com/app/geolitecity

但请记住,通过 IP 进行地理定位永远不会太准确,并且可能会产生巨大的错误,尤其是在使用 GPRS/EDGE/3G 移动互联网时。

【讨论】:

以上是关于如何从 IP 地址获知地理位置的主要内容,如果未能解决你的问题,请参考以下文章

从 IP 地址获取地理位置

从用户 IP 地址获取位置

如何在 Python 中根据 IP 地址获取服务器的位置

从IP地址获取地理位置[重复]

来自具有免费 IP 地理定位网络服务的 IP 地址的国家/地区名称

如何使用 Yahoo Weather API 从 IP 地址获取客户端天气