Jak uzyskać geolokalizację z adresu IP w PHP
Szukasz sposobu na pobranie geolokalizacji użytkownika z adresu IP w PHP? Korzystając z Geolokalizacji, będziesz wiedzieć, gdzie znajdują się odwiedzający Twoją witrynę. Może być używany do celów grupy docelowej. Na podstawie lokalizacji użytkownika możesz pokazać mu odpowiednią treść.
Wiemy, aby zlokalizować pozycję użytkownika API geolokalizacji HTML5 jest dostępne. Ale ten interfejs API działa na podstawie uprawnień. Wyskakuje użytkownika i pyta o jego uprawnienia, wtedy tylko działa.
Aby przezwyciężyć tę sytuację, dostępna jest jedna usługa, którą jest ipstack. W tym artykule dowiemy się, jak uzyskać geolokalizację z IP w PHP za pomocą usługi ipstack.
Uzyskaj klucz API
Aby rozpocząć, musisz najpierw zarejestrować się na ipstack. ipstack zapewnia różne poziomy usług, od bezpłatnego do poziomu korporacyjnego. Jeśli korzystasz z tej usługi po raz pierwszy, zalecamy najpierw skorzystanie z bezpłatnych planów. W chwili pisania tego artykułu bezpłatna usługa pozwala na 10000 żądań miesięcznie. Oznacza to, że możesz co miesiąc sprawdzać geolokalizację 10000 adresów IP za darmo.
Po zarejestrowaniu się w ipstack otrzymasz klucz dostępu. Ten klucz jest wymagany, gdy damy wywołanie API do ipstack.
Poniżej znajduje się zrzut ekranu pulpitu nawigacyjnego ipstack, na którym możesz skopiować klucz dostępu.
Uzyskaj geolokalizację z adresu IP w PHP
W tym momencie założyliśmy konto w ipstack i otrzymaliśmy nasz klucz dostępu. Teraz możemy zacząć korzystać z ich usług i uzyskać Geolokalizację z adresu IP. Ponieważ potrzebujemy wywołać API do ipstack, użyjemy PHP cURL do wywołania API. Użytkownik może również użyć Guzzle zamiast cURL.
Powiedzmy, że musimy znaleźć geolokalizację adresu IP „103.47.153.189". Więc napiszemy dla niego kod jak poniżej.
<?php
// set API Access Key
$access_key = 'YOUR_ACCESS_KEY';
// set phone number
$ip_address = '103.47.153.189';
// Initialize CURL:
$ch = curl_init('http://api.ipstack.com/'. $ip_address .'?access_key='. $access_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
?>
W zamian otrzymasz odpowiedź w postaci:
{
"ip":"103.47.153.189",
"type":"ipv4",
"continent_code":"AS",
"continent_name":"Asia",
"country_code":"IN",
"country_name":"India",
"region_code":"MH",
"region_name":"Maharashtra",
"city":"Pune",
"zip":"411001",
"latitude":18.5333,
"longitude":73.8667,
"location":{
"geoname_id":1259229,
"capital":"New Delhi",
"languages":[
{
"code":"hi",
"name":"Hindi",
"native":"u0939u093fu0928u094du0926u0940"
},
{
"code":"en",
"name":"English",
"native":"English"
}
],
"country_flag":"http://assets.ipstack.com/flags/in.svg",
"country_flag_emoji":"ud83cuddeeud83cuddf3",
"country_flag_emoji_unicode":"U+1F1EE U+1F1F3",
"calling_code":"91",
"is_eu":false
}
}
Możesz zobaczyć, ile informacji możemy uzyskać, wysyłając adres IP. Prawie wszystkie potrzebne informacje uzyskujemy z IP. Użytkownik może również wysłać wiele adresów IP oddzielonych przecinkami.
Mamy nadzieję, że możesz dowiedzieć się, jak uzyskać geolokalizację z IP w PHP. Chcielibyśmy poznać Twoje przemyślenia w sekcji komentarzy poniżej.
Powiązane artykuły
- Znajdź geolokalizację za pomocą adresu IP za darmo w PHP
- mailboxlayer – darmowy i potężny interfejs API do sprawdzania, czy e-mail jest prawidłowy (prawdziwy e-mail)
- Kickbox – biblioteka weryfikatora poczty e-mail w czasie rzeczywistym dla PHP