web-dev-qa-db-fra.com

obtenir la région/ville d'ip

comment puis-je récupérer la région et la ville depuis une adresse IP? J'ai trouvé ce service: http://api.hostip.info/?ip=xyz.qwe.rty

Mais cela ne me donne pas des informations précises comme celle-ci: http://www.ipaddresslocation.org/

Connaissez-vous un service gratuit? Je dois récupérer cette information avec un script php, mais je n’installe pas de bibliothèque externe.

Merci beaucoup

21
michele

C'est mon préféré:

ipinfodb

19
joakimdahlstrom

http://ipinfo.io , mon service vous fournit des informations sur la ville, le pays et d’autres informations relatives à une adresse IP:

$ curl ipinfo.io/8.8.8.8
{
  "ip": "8.8.8.8",
  "hostname": "google-public-dns-a.google.com",
  "loc": "37.385999999999996,-122.0838",
  "org": "AS15169 Google Inc.",
  "city": "Mountain View",
  "region": "CA",
  "country": "US",
  "phone": 650
}

Voici un exemple PHP:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo $details->city; // -> "Mountain View"
34
Ben Dowling

API de géolocalisation gratuite http://ip-api.com/docs/

Vous pouvez obtenir des informations sur votre adresse IP, pays, région, ville, fournisseur d'accès Internet, organisation.

Formats de réponse et exemples: XML, JSON, CSV, PHP.

Limites d'utilisation: Notre système interdira automatiquement les adresses IP effectuant plus de 240 demandes par minute.

Exemple PHP

$ip = $_SERVER['REMOTE_ADDR']; 
$query = @unserialize(file_get_contents('http://ip-api.com/php/'.$ip));
if($query && $query['status'] == 'success') {
echo 'My IP: '.$query['query'].', '.$query['isp'].', '.$query['org'].', '.$query ['country'].', '.$query['regionName'].', '.$query['city'].'!';
} else {
echo 'Unable to get location';
}
19
changeip

si vous souhaitez récupérer la ville d'une adresse IP via http://www.ipaddresslocation.org/ vous suivez ce didacticiel: https://www.facebook.com/Websitedevelopar/posts/468049883274297 Mais vous changez le RegEx avec cette chaîne:

/<i>([a-z\s]+)\:[<\/i>\s]+<b>(.*)<\/b>/im

AU REVOIR

1
Antonio

Vous pouvez essayer ceci.

$ tags = get_meta_tags ('http://www.geobytes.com/IpLocator.htm?GetLocation&template=php3.txt&IpAddress=94.55.180.139'); print $ tags ['city']; // Nom de Ville

1
siniradam