Descobrir o país a partir do endereço IP

Descobrir o país a partir do endereço IP

<%
Option Explicit
‘Declarando das Variáveis
Dim ip

‘Requisitando os parâmetros
ip = Request.Form(“ip”)

Public Function getPaisFromIP(ByVal ip)
‘Declarando das Variáveis
Dim objCon
Dim objRs
Dim ipLongo
Dim bdAccess
Dim sql

‘Convertendo o IP para Longo
ipLongo = convertIPToLongo(ip)

‘Abrindo Conexão com o Banco de Dados
bdAccess = Server.Mappath(“ipPaises.mdb”)
Set objCon = Server.CreateObject(“ADODB.Connection”)
objCon.open “PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=” & bdAccess & “;”

‘Query para descobrir o país do IP
sql = “SELECT TBIP.*, TBPAISES.PAIS FROM TBIP INNER JOIN TBPAISES ON TBIP.SIGLA_PAIS = TBPAISES.SIGLA_PAIS WHERE “ & ipLongo & ” BETWEEN IP_INICIO AND IP_FIM”

‘Executando a Query
Set objRs = Server.CreateObject(“ADODB.RecordSet”)
Set objRs = objCon.execute(sql)

If Not objRs.EOF Then
getPaisFromIP = objRs(“PAIS”) & ” (“ & objRs(“SIGLA_PAIS”) & “)”
Else
getPaisFromIP = “Não encontrado.”
End If

‘Destruição dos objetos
objRs.close
objCon.close
set objRs = Nothing
Set objCon = Nothing
End function

Function convertIPToLongo (ByVal ip)
Dim Cont
Dim Pos
Dim AntPos
Dim Num

If ip = “” Then
convertIPToLongo = 0
Else
For Cont = 1 To 4
Pos = InStr(AntPos + 1, ip, “.”, 1)
If Cont = 4 Then
Pos = Len(ip) + 1
End If
Num = Int(Mid(ip, AntPos + 1, Pos – AntPos – 1))
AntPos = Pos
convertIPToLongo = ((Num Mod 256) * (256 ^ (4 – Cont))) + convertIPToLongo
Next
End If
End Function
%>
<!DOCTYPE html PUBLIC ‘-//W3C//DTD XHTML 1.0 Transitional//EN’ ‘http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd’&gt;
<html xmlns=http://www.w3.org/1999/xhtml&#8221; xml:lang=“pt” lang=“pt-br”>
<head><title>DEMO : Descobrir o País a partir do IP</title></head>
<style>body{font:normal 12px tahoma}</style>
<body>
<h1>DEMO : Descobrir o País a partir do IP</h1>
Digite o Endereço IP (xxx.xxx.xxx.xxx)<br />
<form action=“<%=Request.ServerVariables(“SCRIPT_NAME“)%>” method=“POST”>
<input type=“text” size=“20” name=“ip” />
<input type=“submit” value=“Enviar” />
<form>
<%If Len(ip) > 10 Then%>
<h2>Resultado:</h2>
Endereço IP: <b><%=ip%></b><br />
País: <b><%=getPaisFromIP(ip)%></b>
<%Else%>
<br />IP Inválido.
<%End If%>
</body>
</html>

Créditos do criador do código fonte: http://www.codigofonte.com.br/codigo/asp/ambiente/descobrir-o-pais-a-partir-do-endereco-ip

8 respostas para Descobrir o país a partir do endereço IP

  1. Weverton Naves disse:

    Então, mas onde arrumamos esta tabela com os países??

  2. Rodi disse:

    Consegue enviar para o meu email a tabela com os países, por favor?
    Obrigado!

  3. Lazaro disse:

    Ta de brincadera né!

  4. Denis disse:

    Manda a Tabela de Paises pra gente usar a função

  5. Gabriel disse:

    Galera,

    esse código foi desenvolvido por mim e o banco de dados está disponível em meu site: http://www.codigofonte.com.br/codigo/asp/ambiente/descobrir-o-pais-a-partir-do-endereco-ip

    Aqui neste Blog apenas copiaram o código (e não deixaram os créditos).

  6. ufscimoveis disse:

    ufscimoveis.com é o melhor site com imoveis cadastrados para estudantes da federal de SC. Tudo com acesso gratuito classificado por data, preco, bairro…Varios bairros já cadastrados e milhares de anunciantes. Acesse http://www.ufscimoveis.com e encontre o que voce procura sem perder seu tempo. Contato direto com o proprietario!

  7. fabiane disse:

    existe um outro jeito de eu descobrir o país?
    gostaria de saber se existe um modo de que seja informado o nome do país da onde estou acessando o site!
    se puder ajudar, eu agradeço
    obrigada!

  8. de musicas disse:

    legal, boa, muito boa..

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: