2015-05-24 3 views
-1

Я хочу найти местоположение (страна, город, ..) моего посетителя сайта по их IP. Я кодирую php. Кто может мне помочь? что-то вроде этого:Ip поиск местоположения

$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

Заканчивать 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; 
1

Кажется есть & отсутствует в URL:

$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); 

Если у вас есть другие проблемы, напишите это на вопрос.

+0

это не работает – Hamid

+0

Что такое результат ?! Прочитайте часто задаваемые вопросы для переполнения стека. Ваш вопрос и этот комментарий очень неспецифичны. – Richard

1

Посмотрите на freegeoip.net. Это веб-сервис, который дает вам именно данные, необходимые для конкретного IP-адреса.

т.д .:

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 
} 
+0

Спасибо, это работает. – Hamid

Смежные вопросы