Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/04/2006, 08:29
Kolp
 
Fecha de Ingreso: abril-2006
Mensajes: 15
Antigüedad: 17 años, 11 meses
Puntos: 0
Encontré esto, puede que te sirva

Cita:
Muchas veces en el desarrollo de un sitio web nos podemos enfrentar a la posibilidad de tener que saber de que país es el usuario que nos esta visitando, tanto para enviarlo a contenidos en su idioma como también para mostrarles publicidad especifica de su región, validar datos, analizar los web logs, etc.

Por suerte un programador (Per Soderlind) se encargo de desarrollar un script ASP muy fácil de usar el cual nos permite mediante la IP del usuario averiguar su país.Vean un ejemplo.

Su forma de uso es muy fácil, solamente debemos mediante un include llamar a un método dentro del script, veamos el ejemplo...

<%
Option Explicit
%>
<!--#include file="GeoIP.asp"-->
<%
Dim oGeoIP,strErrMsg
Dim strIP,strCountryName,strCountryCode

Set oGeoIP = New CountryLookup
oGeoIP.GeoIPDataBase = Server.MapPath("GeoIP.dat")
If oGeoIP.ErrNum(strErrMsg) <> 0 Then
Response.Write(strErrMsg)
Else
strIP = request.ServerVariables("REMOTE_ADDR")
strCountryName = oGeoIP.lookupCountryName(strIP)
strCountryCode = oGeoIP.lookupCountryCode(strIP)
End If
Set oGeoIP = Nothing
%>

Analicemos un poco el código, lo primero que debemos hacer es incluir el mencionado script para ello utilizamos la directiva "include" que apunta al archivo GeoIP.asp (Debajo se puede descargar) este archivo es el que contiene todo el código ASP para detectar el país del usuario.

Luego definimos las variables a utilizar y creamos el objeto el cual nos expondrá todos los métodos y propiedades del script GeoIP "Set oGeoIP = New CountryLookup". Por ultimo lo que debemos hacer es indicarle donde se encuentra la base de datos de GeoIP llamada "GeoIP.dat" (Debajo se puede descargar), esta base de datos contiene los códigos de países (AR, ES, MX, CL, ETC) relacionados con los nombres de los países (Argentina, España, Etc.)

Es importante tener actualizado el archivo GeoIP.dat ya que las relaciones IP / Pais sufren cambios a medida que pasa el tiempo, pueden descargar el archivo actualizado desde el enlace titulado Download the latest GeoLite Country Binary Format, este archivo se actualiza cada mes y su uso es gratuito.

Una ves definida esa propiedad podemos utilizar los métodos..

* lookupCountryName(ip) - Pasándole como parámetro la ip devuelve el nombre del país.
* lookupCountryCode(ip) - Pasándole como parámetro la ip devuelve el codigo del país.

Recordemos que para obtener la ip del usuario utilizamos..

strIP = request.ServerVariables("REMOTE_ADDR")

Bien, ahora siguiendo con el ejemplo anterior para mostrar los datos lo único que debemos hacer es un Response.Write con los datos obtenidos..

<%
Response.Write strCountryName
Response.Write strCountryCode
%>