我需要一种一致且可靠的方法来确定访问我网站的计算机的位置(州/省,国家/地区等),使用以下任何一种方法:
我不正在寻找一个锁定的第三方统计程序,例如Google Analytics。它已经在使用并且做了很多令人惊奇的事情,但我需要对信息进行代码级访问。
理想的解决方案应该允许我提供所需的任何信息(例如IP地址)并准确地获取尽可能多的关于访问的信息。获得原产国是最低要求,但州,纬度和经度,城市等额外费用将是不错的。
澄清:我需要能够在PHP代码中定期使用这些信息。不只是在某处查看它。
答案 0 :(得分:7)
它被称为“地理定位”,it's been covered before。
答案 1 :(得分:1)
如果你的意思是100%的可靠性,那就不存在了。但是,如果可靠意味着小于100%,则可以使用MaxMind进行地理定位。他们有一个开源版本:
http://www.maxmind.com/app/geolitecity
如果您需要更准确的结果,还有付费服务。
答案 2 :(得分:0)
Hostip.info提供免费的IP GeoLookup API,供您的应用程序使用。但是,由于代理的简易性,IP查找不会保持一致或可靠。从代理服务器后面访问您网站的任何人都可能会被错误地报告。
但是,使用IP可以做到最好。
答案 3 :(得分:0)
仅适用于乡村地区。 Geoip libraries很有用。
Linux中甚至还有一个命令行程序。
您还可以使用PHP脚本获取环境变量。
这是一段Perl脚本,我写了一段时间回到display变量。没什么好看的。
#!/usr/bin/perl
print 'Content-type: text/HTML' . "\n\n";
print "<body><center>";
print "<table border=1>";
print '<tr><td>' . $_ . "<td>" . $ENV{$_} . "<br>\n" foreach sort (keys(%ENV)) ;
您可以看到浏览器