viernes, 30 de mayo de 2014

API gratuita de geolocalización por IP

Hace unos días encontré una web que ofrece gratis el servicio online de consultas de IP para nuestras aplicaciones, lo bueno de esto es que podemos pasar un par de parámetros para obtener la información de la IP que le pasemos, lo malo es que no podemos efectuar más de 10000 consultas por hora, igualmente en muchos casos no vamos a tener que realizar tantas peticiones al servidor y no creo que lleguemos a este límite salvo en contadas ocasiones como por ejemplo si administramos un portal con miles o millones de visitas por día, claro que para eso existen otras soluciones profesionales pero este servicio esta pensado para pequeños proyectos,

El servicio usa las bases GeoLite de Maxmind las cuales pueden descargarse gratuitamente desde el sitio en cuestión, y la página del proyecto esta alojada en
GitHub

Implementación:

con solo pasarle la ip o el nombre de host nos devuelve los datos referentes a la ip en cuestión

uso:
freegeoip.net/{format}/{ip_or_hostname}

el parámetro {format} nos permite pasarle cualquiera de estos parámetros ( csv, xml, json )

Para aplicarlo en PHP y recuperarlo con JSON
podemos hacerlo de la sig. manera;

(Usé la IP de Facebook para el ejemplo, entiéndase que uds. deberan colocar cualquier IP) 

Este script nos va a devolver un Array de objetos como este:


stdClass Object
(
    [ip] => 173.252.120.113
    [country_code] => US
    [country_name] => United States
    [region_code] => CA
    [region_name] => California
    [city] => Menlo Park
    [zipcode] => 94025
    [latitude] => 37.459
    [longitude] => -122.1781
    [metro_code] => 807
    [area_code] => 650
)

Script:

<?php
//10.000 peticiones por hora
$ip="173.252.120.113";
$r=json_decode(file_get_contents("https://freegeoip.net/json/$ip"));
print_r($r);
?>

Web:http://freegeoip.net/
Código fuente:https://github.com/fiorix/freegeoip

Reacciones:

0 comentarios: