当我在Google上搜索IP地址时,会返回许多结果,其中一些会告诉不同城市该IP的位置。
如何从IP地址中找到位置?
答案 0 :(得分:0)
以下是Ruby中的模块:http://www.chipstips.com/?p=524
注意:它非常不精确,并且基于已发布的表格可能无法保持准确。
它不准确的原因之一是因为NAT后面的任何IP都会报告最外层NAT网关的位置。所以它通常是你的ISP甚至是那之外的东西。
答案 1 :(得分:0)
审核http://www.iplocation.net/ 其中列出了4个用于将IP映射到地理位置的地理定位提供程序。
该链接还链接到由James A. Muir撰写的题为“互联网地理位置和逃避”的文档http://www.ccsl.carleton.ca/~jamuir/papers/TR-06-05.pdf。在文档中,Muir确定了9种方法及其局限性,以获取用户的地理数据。
答案 2 :(得分:0)
公平地说,您必须考虑用户可能在代理服务器后面。
一般术语是地理IP查找或Geo IP。了解这一点的最佳方法是拥有一个与区域相关的IP地址的最新数据库。
<强>下载的:强>
免费下载数据库(~25mb)
http://dev.maxmind.com/geoip/legacy/geolite/
<强>在线:强>
geobytes.com/IpLocator.htm?GetLocation
www.ipligence.com/geolocation
答案 3 :(得分:0)
您获得不同结果的原因是存在不同的地理位置数据库。他们每个人都会返回不同的结果。事实上,对这些地理定位数据库的可靠性进行了研究(例如http://www.caida.org/publications/papers/2011/geocompare-tr/)。
根据我的经验,这个非常可靠:
您应该比较多个数据库并找出自己最可能的位置。
答案 4 :(得分:0)
IPInfoDB可以运行并提供免费的RESTful API,包含多种语言的库,包括Python,Ruby和PHP。