IP Locator

Vous pouvez t茅l茅charger une base de donn茅es GeoIP gratuite et rechercher l’adresse IP localement, ou vous pouvez utiliser un service tiers et effectuer une recherche 脿 distance. Il s’agit de l’option la plus simple, car elle ne n茅cessite aucune configuration, mais elle introduit une latence suppl茅mentaire.

Un service tiers que vous pourriez utiliser est le mien, http://ipinfo.io . Ils fournissent le nom d’h么te, la g茅olocalisation, le propri茅taire du r茅seau et des informations suppl茅mentaires, par exemple :

$ 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}/json"));
echo $details->city; // -> "Mountain View"

Vous pouvez 茅galement l’utiliser c么t茅 client. Voici un exemple jQuery simple :

$.get("https://ipinfo.io/json", function (response) {
    $("#ip").html("IP: " + response.ip);
    $("#address").html("Location: " + response.city + ", " + response.region);
    $("#details").html(JSON.stringify(response, null, 4));
}, "jsonp");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<h3>Client side IP geolocation using <a href="http://ipinfo.io">ipinfo.io</a></h3>

<hr/>
<div id="ip"></div>
<div id="address"></div>
<hr/>Full response: <pre id="details"></pre>