如何使用php或javascript使用IP地址跟踪某个位置? 像这个网站这样的东西:http://whatismyipaddress.com/ip/216.157.85.163
答案 0 :(得分:2)
很有可能,使用PHP或JavaScript。但是,有办法做到这一点,以及不这样做的方法。就像生活中的任何事情一样,真的。
如果您的浏览器存在navigator.geolocation
对象,则可以通过GPS或众包wifi数据获取位置。对象属性和方法在MDN上有相当详细的描述。
此方法的明显优势在于,用户的设备将返回地理位置, NOT 访问者的IP地址。这意味着这可以通过代理,TOR等进行隧道传输。但是,这将提示用户输入位置 - 并且它正确地这样做,否则想象一下混乱。
使用它:
if (navigator.geolocation && navigator.geolocation.getCurrentPosition) {
navigator.geolocation.getCurrentPosition(function(position) {
}, function() { alert("Couldn't get your position!"); });
}
position
将包含一个Position对象,其坐标位于coords
。
有许多API可以为您提供请求。你应该调查几个 - 谷歌提供地理位置API,还有ipinfodb ......有些人对请求有上限,有些则没有。 然而,他们通过IP工作。这意味着没有代理隧道和大致位置。
答案 1 :(得分:0)
您需要访问GeoLocation数据库,将其发送到IP,它将返回IP的坐标和/或城市名称。
您可以查看此API以开始使用:http://freegeoip.net/
或者,在此处获取数据以运行您自己的数据:http://dev.maxmind.com/geoip/legacy/geolite
或使用Google的API根据手机信号塔定位用户:https://developers.google.com/maps/documentation/business/geolocation/