Cómo obtener la geolocalización desde IP en PHP
¿Está buscando una manera de obtener la geolocalización del usuario desde la dirección IP en PHP? Al utilizar la geolocalización, sabría dónde se encuentran los visitantes de su sitio web. Se puede utilizar para el público objetivo. Según la ubicación del usuario, puede mostrarles el contenido relevante.
Sabemos para localizar la posición del usuario. La API de geolocalización HTML5 está disponible. Pero esta API funciona con permisos. Aparece un usuario y solicita sus permisos, entonces solo funciona.
Para superar esta situación, hay un servicio disponible que es ipstack. En este artículo, estudiamos cómo obtener la geolocalización desde IP en PHP usando el servicio ipstack.
Obtenga una clave de API
Para comenzar, primero debe registrarse en ipstack. ipstack proporciona diferentes niveles de servicios que van desde el nivel gratuito hasta el empresarial. Si está utilizando este servicio por primera vez, le recomendamos que primero opte por planes gratuitos. Al momento de escribir este artículo, el servicio gratuito permite 10000 solicitudes por mes. Eso significa que puede verificar la geolocalización de 10000 IP de forma gratuita todos los meses.
Una vez que se haya registrado con ipstack, obtendrá su clave de acceso. Esta clave es necesaria cuando daremos una llamada API a ipstack.
A continuación se muestra la captura de pantalla de su panel de ipstack donde puede copiar la clave de acceso.
Obtener geolocalización desde IP en PHP
En este punto, hemos creado una cuenta con ipstack y obtuvimos nuestra clave de acceso. Ahora podemos comenzar a usar su servicio y obtener la geolocalización desde la dirección IP. Como necesitamos realizar una llamada API a ipstack, usaríamos PHP cURL para realizar una llamada API. El usuario también puede usar Guzzle en lugar de cURL.
Digamos que necesitamos encontrar la geolocalización de una IP ‘103.47.153.189’. Así que escribiremos el código como se muestra a continuación.
<?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);
?>
A cambio, recibirá una respuesta como:
{
"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
}
}
Puede ver cuánta información podemos obtener con solo enviar una dirección IP. Casi estamos obteniendo toda la información que uno puede necesitar de IP. Un usuario también puede enviar varias direcciones IP separadas por comas.
Esperamos que pueda aprender cómo obtener la geolocalización desde IP en PHP. Nos gustaría conocer su opinión en la sección de comentarios a continuación.
Artículos relacionados
- Encuentre la geolocalización usando la dirección IP de forma gratuita en PHP
- buzón de correo: una API gratuita y potente para comprobar si el correo electrónico es válido (correo electrónico real)
- Kickbox: una biblioteca de verificación de correo electrónico en tiempo real para PHP