[eside-ghost] Saber la Provincia a través de la IP
Iker Perez de Albeniz - Txupete -
txupete en gmail.com
Mie Nov 18 10:35:08 CET 2009
Por si interesa a mas gente en PHP seria asi:
Bajarse las librerias:
http://geolite.maxmind.com/download/geoip/api/php/geoipcity.inc
http://geolite.maxmind.com/download/geoip/api/php/geoipregionvars.php
http://geolite.maxmind.com/download/geoip/api/php/geoip.inc
bajarse la base de datos
http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
y para usarla seria asi de sencillo (vamos a considerar que las librerias,
la base de datos y el ejemplo estan en la misma ruta):
<?php
include("geoipcity.inc");
include("geoipregionvars.php");
$ip = $_SERVER['REMOTE_ADDR'];
$gi = geoip_open("./GeoLiteCity.dat",GEOIP_STANDARD);
$record = geoip_record_by_addr($gi,$ip);
echo "<br>".$record->city;
echo "<br>".$record->country_code;
echo "<br>".$GEOIP_REGION_NAME[$record->country_code][$record->region];
echo "<br>".latitude($record->latitude);
echo "<br>".longitude($record->longitude);
?>
con la longitud y latitud ademas puedes mostrar graficos guapos con mapas
tipo http://www.ammap.com/
La ventaja de esto es que no dependes de servicios de terceros.. ademas
puedes poner un cron diario que descarge la base de datos y asi manterense
actualizado.
El 18 de noviembre de 2009 10:12, altern <altern2 en gmail.com> escribió:
> aupa
>
> yo hice algo parecido con python para un proyecto de la uni, necesitaban
> sacar datos de la IP sobre localizacion de la maquina. Llamaba una web
> (http://j.maxmind.com/app/geoip_city) donde salen estos datos y extraia
> la informacion de alli. Ahora no se si esto es realmente fiable para tu
> proyecto. supongo que no y que lo interesante es como esta web que uso
> yo saca los datos de la IP
>
> mira lo he encontrado, aqui esta
>
> def geoInfo() :
> """ returns dict with geoinfo produced from maxmind.com web page
> from computer's IP
> """
> ## this string below is the format of the data returned by
> http://j.maxmind.com/app/geoip_city
> ## data = "\
> ## function geoip_country_code() { return 'ES'; } \
> ## function geoip_country_name() { return 'Spain'; } \
> ## function geoip_city() { return 'Bilbao'; } \
> ## function geoip_region() { return '59'; } \
> ## function geoip_region_name() { return 'Pais Vasco'; } \
> ## function geoip_latitude() { return '43.2500'; } \
> ## function geoip_longitude() { return '-2.9667'; } \
> ## function geoip_postal_code() { return ''; }
> ## "
>
> f = _getURL( 'http://j.maxmind.com/app/geoip_city' )
> data = f.read()
>
> sp = data.split( "'" ) # split depending on single '' quotations
> marks to get words like 'Bilbao'
>
> return {
> 'code' : sp[1],
> 'country' : sp[3],
> 'city' : sp[5],
> 'region' : int( sp[7] ),
> 'region_name' : sp[9],
> 'latitude' : float( sp[11] ),
> 'longitude' : float( sp[13] ),
> 'postal_code' : sp[15],
> }
>
>
>
>
> Elessar(e)k dio:
> > Buenos dias,
> > Para mi que este tema roza el offtopic, más que rozarlo lo magrea pero
> > bueno, os expongo mi duda y a ver si álguien más se ha peleado con esto.
> >
> > El contexto: Hacer una web con drupal.
> > Resulta que me han mandado la típica lucidez de diseñador fumao:
> > Y dependiendo de donde se conecte (De la provincia Vizcaya, Gipuzkoa o
> > Araba), que haga tal o cual cosa.
> > Y mirando por google hay un montón de sitios que hacen eso mismo, sacar
> toda
> > la información a través de tu IP, pero yo estaba pensando en invocar un
> > webservice o algo por el estilo para sacar la información.
> >
> > Alguien se ha peleado con esto mismo y sabe una solución simple?
> (Entiendo
> > que hacer un post y parsearse una web no es una solución simple =P )
> >
> > Salu2
> >
> >
> >
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > eside-ghost mailing list
> > eside-ghost en listas.deusto.es
> > https://listas.deusto.es/mailman/listinfo/eside-ghost
>
> _______________________________________________
> eside-ghost mailing list
> eside-ghost en listas.deusto.es
> https://listas.deusto.es/mailman/listinfo/eside-ghost
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: https://listas.deusto.es/mailman/private/eside-ghost/attachments/20091118/97d29c55/attachment.htm
Más información sobre la lista de distribución eside-ghost