我想通过他们的IP找到我的网站访问者的位置(国家,城市,...)。 我在编码php。 谁能帮我? 像这样的东西:
$url = json_decode(file_get_contents("http://api.ipinfodb.com/v3/ip-city/?key=/*userapikey*/
ip=".$_SERVER['REMOTE_ADDR']."&format=json"));
$country=$url->countryName; // user country
$city=$url->cityName; // city
$region=$url->regionName; // regoin
$latitude=$url->latitude; //lat and lon
$longitude=$url->longitude;
答案 0 :(得分:1)
似乎网址中缺少&
:
$url = json_decode(file_get_contents("http://api.ipinfodb.com/v3/ip-city/?key=/*userapikey*/&ip=".$_SERVER['REMOTE_ADDR']."&format=json"));
可能你应该编码IP:
$url = json_decode(file_get_contents("http://api.ipinfodb.com/v3/ip-city/?key=/*userapikey*/&ip=".urlencode($_SERVER['REMOTE_ADDR'])."&format=json"));
然后你可以这样做以获得有关结果的信息:
var_dump($url);
如果您还有其他问题,请将其写入问题。
答案 1 :(得分:1)
看看freegeoip.net。它是一个Web服务,可以为您提供特定IP所需的数据。
E.g:
https://freegeoip.net/json/1.2.3.4
将为您提供此JSON数据:
{
ip: "1.2.3.4",
country_code: "US",
country_name: "USA",
region_code: "WA",
region_name: "Washington",
city: "Mukilteo",
zip_code: "98275",
time_zone: "America/Los_Angeles",
latitude: 47.945,
longitude: -122.305,
metro_code: 819
}
答案 2 :(得分:0)
结帐https://freegeoip.net/。他们提供免费API,每小时最多10,000次搜索。
示例:
$res = json_decode(file_get_contents("https://freegeoip.net/json/109.80.75.20"));
$countryCode = $res->country_code;
$country = $res->country_name;