Obtener nombre de pais y ciudad atraves de IP

23/07/2006 - 02:01 por Juan Gabriel Claure | Informe spam
Hola grupo como puedo obtener el nombre del pais y la ciudad del cliente que
esta ingresndo a mi pagina con ASP, encontre una sitio pero esta en PHP se
puede hacer un Include de paginas PHP o existe otra forma.

la pagina es la siguiente:
http://www.hostip.info/use.html

gracias de antemano
Atte. juan gabriel
 

Leer las respuestas

#1 Arturo Costa Delgado
23/07/2006 - 06:38 | Informe spam
Puedes hacerlo con Access pero mejores resultados te pueden dar si lo
haces con MySQL y ASP.
Mira. primero debes ir a
http://ip-to-country.webhosting.info/node/view/6 y bajar el último
archivo de datos de IP y países.

Te paso el código que uso para ese caso

findcountry_inc.asp
<%
ip=Request.ServerVariables("REMOTE_ADDR")

myIP=split(ip,".")
IPnumber=(myIp(0)*16777216)+(myIP(1)*65536)+(myIP(2)*256)+(myIP(3))

Set ConMySQL=Server.CreateObject("adodb.connection")
ConMySQL.Open "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=md_servicios;
USER=stendhal;PASSWORD1298;OPTION=3;"
Set rs=server.createobject("ADODB.Recordset")
rs.Open "Select * from ipdatabase_Countries Where IP_FROM <=" &
IPnumber & " AND IP_TO >=" & IPnumber & ";",conMySQL,2,3,1

If rs.EOF Then
country="Unknown"
Else
country=rs("COUNTRY_NAME")
ccode=rs("COUNTRY_CODE2")
End If

'you can use the country variable to display the current visitors
country of origin on the webpage: e.g. response.write "You are visiting
us from " & country

rs.Close
Set rs=Nothing
ConMySQL.Close
Set ConMySQL = Nothing
%>

counter.asp
<!--#include file="findcountry_inc.asp"-->

<%
'hitPage=Request.ServerVariables("URL")
hitPage=Request.ServerVariables ("HTTP_URL")

Set ConMySQL=Server.CreateObject("adodb.connection")
ConMySQL.Open "DRIVER={MySQL ODBC 3.51 Driver};DATABASE=md_servicios;
USER=stendhal;PASSWORD1298;OPTION=3;"
Set rs=server.createobject("ADODB.Recordset")
'rs.Open "Select * from ipdatabase_Hits where page='" &
request.servervariables("url") & "';",conMySQL,3,3
rs.Open "Select * from ipdatabase_Hits where page='" & hitPage &
"';",conMySQL,3,3

If rs.EOF Then
rs.AddNew
rs("page")=hitPage
rs("date")=Now()
rs("date2")=Now()
rs("hits")=1
currentpagehits=1
rs.UpDate
Else
currentpagehits=rs("hits")+1
rs("hits")=currentpagehits
rs("date2")=Now()
rs.UpDate
End If
rs.Close

If country<>"Unknown" Then
MySql="Select * from ipdatabase_log"
rs.Open MySql, ConMySQL, 3, 3
rs.AddNew
rs("COUNTRY_NAME")=country
rs("page")=hitPage
rs.UpDate
rs.Close
End If

Set rs=Nothing
ConMySQL.close
Set ConMySQL=Nothing
%>

En la página que tu desees que aparezca el nombre del país usa esto

<!-- #include file="counter.asp" -->

Ud. se esta conectando desde <img src="imagenes/banderas/<%=
Response.Write(cCode) %>.png" alt="<%= Response.Write (Country) %>"
border="0">
<b><%= Response.Write (Country) %></b> [<%=
Response.Write(Request.ServerVariables("REMOTE_ADDR")) %>]

Espero que te haya sido de utilidad

ACD

Preguntas similares