可能重复:
What services can I used to find a user’s location based on their IP address?
Hii我必须访问ip并将位置放在地图上,但我想要的是获取ip的当前位置没有isp地址可以有人建议我如何在php中执行此操作
答案 0 :(得分:1)
$ IPADDRESS = $ _ SERVER [ 'HTTP_HOST']; $ license_key =“输入您的许可证密钥”;
$query = "http://geoip3.maxmind.com/b?l=" . $license_key . "&i=" . $ipaddress;
$url = parse_url($query);
$host = $url["host"];
$path = $url["path"] . "?" . $url["query"];
$timeout = 1;
$fp = fsockopen ($host, 80, $errno, $errstr, $timeout)
or die('Can not open connection to server.');
if ($fp) {
fputs ($fp, "GET $path HTTP/1.0\nHost: " . $host . "\n\n");
while (!feof($fp)) {
$buf .= fgets($fp, 128);
}
$lines = explode("\n", $buf);
$data_geo = $lines[count($lines)-1];
fclose($fp);
} else {
# enter error handing code here
}
//echo $data;
$geo = explode(",",$data_geo);print_r($geo);enter code here
答案 1 :(得分:0)
到目前为止,您使用了哪些代码?您可以使用Maxmind API,但每天限制为500次。
http://www.maxmind.com/en/home
您还可以使用PHP GeoIP扩展(如果您编译/安装它)
答案 2 :(得分:0)
您可以使用3种方法:
1)任何Geolocation db站点的API。
例如:http://www.maxmind.com/en/home
2)可下载的地理定位数据库,您可以参考,一旦您拥有IP地址就能找到该位置
例如:http://www.hostip.info/dl/index.html
http://dev.maxmind.com/geoip/geolite<< This looks good
3)从显示详细信息的网站上刮痧。 - 这不是专业的,你需要做一点调整,不要被抓到作为刮刀,但它完成工作就好了。