我使用geoplugin php来获取我网站上访问者的国家/地区和ip,但它返回托管服务器的ip和国家/地区,而不是访问该网站的用户,我使用Hostinger作为我的主机。
$ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp"));
$country = $ipdat->geoplugin_countryName;
$ip = $ipdat->geoplugin_request;
它在xamplocalhost上运行良好。
您的代码行为是一种预期行为,因为GEO插件站点从脚本请求的位置获取IP地址,并相应地提供详细信息。如果你想要用户/访问者的数据,那么你需要使用存储在$_SERVER
全局变量中的用户远程IP,并将该IP传递给GEO插件,以获得docs
中提到的详细信息。
代码段:
<?php
$data = unserialize(file_get_contents('http://www.geoplugin.net/php.gp?ip='.$_SERVER['REMOTE_ADDR']));
$country = $data['geoplugin_countryName'];
$ip = $data['geoplugin_request'];
echo $country," ",$ip,"<br/>";
print_r($data);