ASP - Identificando o País do visitante
Antes de entrar no artigo propriamente dito gostaria de comentar uma pesquisa publicada na revista INFO Exame do mês de agosto. O título da matéria é : As cifras do e-commerce e na página 49 da revista há uma pesquisa publicada com o título : ASP MANTÉM A DIANTEIRA.
Pois bem, lá temos a indicação que dentre as tecnologias de acesso a dados a ASP ocupa o primeiro lugar com 47% do mercado brasileiro seguida de perto pela ASP.NET com 36.1 e Ajax com 26.5. Confesso que fiquei surpreso pela quantidade do mercado que ainda usa ASP.
Agora voltando ao nosso artigo; Você já precisou determinar o país de origem do visitante do seu site ?
Se não precisou , sabe como é, um dia pode precisar.... Felizmente alguém já fez o trabalho pesado para nós.
Existe no mercado uma base de dados contendo o relacionamento de IPs com o país de origem. Basta você pegar esta base de dados que possui uma versão gratuita e usar no seu código ASP. O link para fazer o download do arquivo é Download the latest GeoLite Country Binary Format. Existe um script em ASP (que também já esta pronto) e que deverá ser usado como um arquivo de include, chamado GeoIP.asp, que faz o acesso a este arquivo GeoIP.dat.
A seguir temos um exemplo bem simples de como usar o arquivo de include GeoIP.asp e de como acessar a base de dados GeoIP.dat e obter o nome do país e o seu código. Você pode digitar este código em qualquer editor de textos e salvá-lo com o nome: exemploGeoIP.asp.
exemploGeoIP.asp
<% Option Explicit %> <!--#include file="GeoIP.asp"--> <% Dim oGeoIP,strErrMsg Dim strIP,strNomePais,strCodigoPais Set oGeoIP = New CountryLookup oGeoIP.GeoIPDataBase = Server.MapPath("GeoIP.dat") If oGeoIP.ErrNum(strErrMsg) <> 0 Then Response.Write(strErrMsg) Else 'obtem o IP do visitante strIP = request.ServerVariables("REMOTE_ADDR") strNomePais= oGeoIP.lookupCountryName(strIP) strCodigoPais = oGeoIP.lookupCountryCode(strIP) End If Set oGeoIP = Nothing %> |
Estamos obtendo o IP do visitante com o código: strIP = request.ServerVariables("REMOTE_ADDR")
A seguir usamos os métodos lookupCountryName(strIP) e lookupCountryCode(strIP) para obter o nome do país e seu código.
Após liberar o objeto da memória podemos exibir o resultado armazenado nas variáveis strNomePais e strCodigoPais.
Abaixo temos um código HTML bem simples que pode ser usado no mesmo arquivo exemploGeoIP.asp acima:
<html> <head> <title>Demonstração de uso do GeoIP</title> </head> <body> <p align="center"> Identificando o País do visitante</font></b></p> <hr> </p> Seu IP é <%=strIP%> <p> Você está no(a) <%=strNomePais%> <p> Código do Pais : <%=strCodigoPais%> </tr> </body> </html>
|
Você pode também baixar o script ASP e o arquivo GeoIP.dat aqui : exemploGeoIP.zip
Você deve criar um diretório virtual (Ex: \Inetpub\wwwroot\geoIP) e acessar a página via IIS(Internet Information Server).
Para minha máquina local eu criei uma pasta chamada geoIP em \inetpub\wwwroot e coloquei nela os arquivos : GeoIP.asp , GeoIP.dat e exemploGeoIP.asp. O resultado da execução da página obtida foi:
Para ver o exemplo on-line clique aqui : verificando o país de origem.
Nota: Você deverá manter o arquivo GeoIP.dat atualizado pois as relações IP/País de origem podem sofrer variações.
Para mais informações visite o sítio: http://www.maxmind.com/app/geoip_country
Até o próximo artigo ASP...
Referências:
Seção ASP .NET do site Macoratti.net
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#