Foros del Web » Programando para Internet » ASPX (.net) »

Reconocer IP del pais del visitante.

Estas en el tema de Reconocer IP del pais del visitante. en el foro de ASPX (.net) en Foros del Web. Hola a todos, estoy en un nuevo proyecto y quisiera saber si alguno tiene alguna idea de como se programaría algo como esto en c# ...
  #1 (permalink)  
Antiguo 25/02/2008, 10:15
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Pregunta Reconocer IP del pais del visitante.

Hola a todos, estoy en un nuevo proyecto y quisiera saber si alguno tiene alguna idea de como se programaría algo como esto en c# con sql server 2005, tengo que saber de que pais es el usuario que ingresa a mi sitio ya que el contenido no es el mismo si este es de Colombia o si este es de USA o si este es de España por ejemplo, pero el detalle está en q' no puedo ponerle al dominio la extensión de dicho pais, como www.misitio.com.co o www.misitio.com.es no nada de eso.

Yo he estado averiguando y me encontré con un artículo que me decía que podia controlar eso por medio de la IP del usuario pero como implementaria eso con c# y como sería mi sitio me refiero a todas las paginas para que el usuario segun de donde venga vea lo que le conviene a él.
Gracias.
  #2 (permalink)  
Antiguo 25/02/2008, 10:24
 
Fecha de Ingreso: octubre-2005
Mensajes: 27
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Quizás te sirva esto

<%= "ALL_HTTP: " & Request.ServerVariables("ALL_HTTP") & "<br><br>"%>
<%= "AUTH_PASS: " & Request.ServerVariables("AUTH_PASS") & "<br><br>"%>
<%= "AUTH_TYPE: " & Request.ServerVariables("AUTH_TYPE") & "<br><br>" %>

<%= "CONTENT_LENGTH: " & Request.ServerVariables("CONTENT_LENGTH") & "<br><br>" %>
<%= "CONTENT_TYPE: " & Request.ServerVariables("CONTENT_TYPE") & "<br><br>" %>

<%= "GATEWAY_INTERFACE: " & Request.ServerVariables("GATEWAY_INTERFACE") & "<br><br>" %>

<%= "PATH_INFO: " & Request.ServerVariables("PATH_INFO") & "<br><br>" %>
<%= "PATH_TRANSLATED: " & Request.ServerVariables("PATH_TRANSLATED") & "<br><br>" %>

<%= "QUERY_STRING: " & Request.ServerVariables("QUERY_STRING") & "<br><br>" %>

<%= "REMOTE_ADDR: " & Request.ServerVariables("REMOTE_ADDR") & "<br><br>" %>
<%= "REMOTE_HOST: "& Request.ServerVariables("REMOTE_HOST") & "<br><br>" %>
<%= "REMOTE_IDENT: " & Request.ServerVariables("REMOTE_IDENT") & "<br><br>" %>
<%= "REMOTE_USER: " & Request.ServerVariables("REMOTE_USER") & "<br><br>" %>
<%= "REQUEST_BODY: " & Request.ServerVariables("REQUEST_BODY") & "<br><br>" %>
<%= "REQUEST_METHOD: " & Request.ServerVariables("REQUEST_METHOD") & "<br><br>" %>

<%= "SCRIPT_NAME: " & Request.ServerVariables("SCRIPT_NAME") & "<br><br>" %>

<%= "SERVER_NAME: " & Request.ServerVariables("SERVER_NAME") & "<br><br>" %>
<%= "SERVER_PORT: " & Request.ServerVariables("SERVER_PORT") & "<br><br>" %>
<%= "SERVER_PROTOCOL: " & Request.ServerVariables("SERVER_PROTOCOL") & "<br><br>" %>
<%= "SERVER_SOFTWARE: " & Request.ServerVariables("SERVER_SOFTWARE") & "<br><br>" %>
  #3 (permalink)  
Antiguo 25/02/2008, 10:26
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Gracias por responder alfisoft y disculpa mi ignorancia en este tema pero no entiendo lo que me enviaste, si me pudieras explicar un poco mejor te lo agradecería. ;)
  #4 (permalink)  
Antiguo 25/02/2008, 10:56
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

Podrias utilizar en un Global.asax de tu aplicacion al inicio de cada sesion ua validació q fuera como

string ip=Request.UserHostAddress;

usando algun servicio web o un webrequest obtener el pais enviando esos datos

http://software77.net/cgi-bin/ip-country/geo-ip.pl

saludos
peter
  #5 (permalink)  
Antiguo 25/02/2008, 11:05
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Hola Peterpay gracias por responder, es decir ¿que mediante un web services yo puedo saber de que pais es mi visitante?

que datos tendría que enviarle eso no entiendo!!! porque yo soy la persona interesada en saber su pais y además como yo haria validaria eso en mi sitio para una vez que ya se su pais de procedencia mostrar el contenido de su interes no tengo idea de como hacer eso...gracias.
  #6 (permalink)  
Antiguo 25/02/2008, 11:14
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

Cpon un webservice, o con una bd de ip's por pais puedes hacerlo.

lo importnate de este es q lo debes hacer antes de q se le muestre contenido a tu usuario.

asi q podrias hacer algo como utilizar un objeto WebClient y un WebResponse. o un WebRequest, enviar una solicitud al servidor q te proporcione dicha información y despues hacer un case

switch(pais)
{
"mx": response.Redirect("urlmexico");
"usa":Response.Redirect("urlusa");
}

ahora q si los contenidos se basan solo en lenguaje podrias utlizar los elementos de localizacion crear tus archivos de recursos y mostrarle en base ala cultura definida por el usuario.

saludos
peter
  #7 (permalink)  
Antiguo 25/02/2008, 11:16
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

Revisa esto, ellso dan una bd' q tiene la informacion

http://webnet77.com/scripts/geo-ip/index.html

puedes descargarala y consultarla simple y sencillamente sin necesidad de hacer otra cosa q abrir el archivo montarlo en memoria y averiguar q ip es.

saludos
peter

pd.
las ip's van por rangos entonces (clases si no me falla la memoria) entonces en base a esto podrias generar una busqueda y definir de q pais es , abriendo el archivo q ofrecen estos tipos.
  #8 (permalink)  
Antiguo 25/02/2008, 11:28
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Gracias Peterpay me he descargado esta base que es un .zip llamado IP-country-FREE.zip al descomprimir este archivo tengo 3 archivos .zip llamados MakeSQL.zip, IP-country-PHP.zip, IP-country-Perl.zip dentro de cada uno de ellos hay un archivo php que no entiendo ni papa la verdad :( la verdad no se que hacer con estos archivos y como correrlos porq yo no se nada de php, mira gracias por tu paciencia y por tu ayuda yo se que cuando le coja el golpe todo esto me va a servir de mucho gracias de verdad.
  #9 (permalink)  
Antiguo 25/02/2008, 11:32
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

digo ellos tienen un csv q es un archivo con info acerca de las ips y sus rangos

saludos
peter
  #10 (permalink)  
Antiguo 25/02/2008, 11:34
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Ah si ese archivo si me lo he bajado de otros sitios es un archivo de excel que tiene mas 70.000 registros con los rangos de las ips y sus respectivos paises.

Si lo tengo una vez que lo tengo como podría probarlo?
  #11 (permalink)  
Antiguo 26/02/2008, 05:19
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Reconocer IP del pais del visitante.

Hola, me sumo al post.

Por lo que he leido con esta instruccion:

string ip=Request.UserHostAddress;

Conseguirias la ip del cliente. Con esa ip te vas al webservice o lees desde el archivo .csv para saber a que pais pertenece y en base a eso mostrarle lo que necesites.

Saludos
  #12 (permalink)  
Antiguo 26/02/2008, 08:43
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Gracias a todos por sus respuestas, pero esa linea de validación q' va en el global.asax no podría ponerla porque en mi aplicación no va a ver un área de inicio de sesión mediante un login tengo entendido que para eso es el global.asax, ahora si tuviera que elegir entre trabajar con un web service o una base de datos yo preferiria una base de datos donde esten todos los rangos de ips con sus respectivos paises porque no sé manejar web service, en cuanto contenido a mostar dependiendo del pais de usuario todavía no tengo muy claro de como hacer eso, porque por ejemplo tengo una sección de eventos que deben verse unos en Colombia y otros diferentes en todo Europa y Estados Unidos pero en una misma pagina .aspx no sé en que forma mostrar los eventos de Colombia a los usuarios de colombianos y las demas al resto de paises.

Espero alguien me pueda ayudar porque me estoy volviendo loco.....gracias!
  #13 (permalink)  
Antiguo 27/02/2008, 08:14
Avatar de Javier Santamaria  
Fecha de Ingreso: julio-2007
Mensajes: 296
Antigüedad: 16 años, 10 meses
Puntos: 1
Re: Reconocer IP del pais del visitante.

En el global asax tienes diferentes secciones. Una de ellas que creo puede ser la que te sirva es Session_Start. Aqui captura el inicio de una sesion, por lo tanto aqui supongo que podrias capturar la ip y en base a la ip y una busqueda en una base de datos o webservice o donde prefieras saber a que pais pertenece. Una vez tengas el pasi solo monta la web con la informacion que quieres que aparezca. Por ejemplo puedes tener una variable o un array de variables en el global asax que te relacione una sesion con un pais de tal forma que cuando se valla a cargar algo en una pagina preguntes por esa variable para construir las consultas a las bases de datos o mostrar los contenidos en funcion del pais. No se si me explico.

PD: No se si sera la mejor solucion puesto que yo no he creado aun ninguna web con esos requerimientos.

Saludos
  #14 (permalink)  
Antiguo 27/02/2008, 08:25
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

Hola

encontre algo q te puede servir

http://webdevpro.blogspot.com/2007/1...spnet-y-c.html

al referirnos a sesion no es si logeo o no, es q se establecion una conexion entre el cliente y tu pagina web.

es por eso q el global asax te funcionara perfectamente.

saludos
peter
  #15 (permalink)  
Antiguo 27/02/2008, 09:42
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Gracias a todos muy interesante el artículo que me pasaste Peterpay, voy a leerlo más detenidamente para poder implementar lo q' ahi explica y si me resulta lo posteo para otros usuarios. Ya regreso esperen si pueden seguir aportando más información de como lograr algo asi por favor sientanse libres de hacerlo hasta prontoooo y gracias de nuevo.
  #16 (permalink)  
Antiguo 29/02/2008, 09:14
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Hola de nuevo me baje el web sevices y la base de datos del artículo que me pasó Peterpay y levante un nuevo sitio web en el iis y dentro de este puse los archivos que me baje de ese artículo y lo ejecute pero no sale nada, no se que me falta hacer o que estoy haciendo mal, por favor ayudenme con esto se los agradeceria mucho.
  #17 (permalink)  
Antiguo 29/02/2008, 11:27
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

en donde estas validando la ip?, puedes subir tu codigo??
  #18 (permalink)  
Antiguo 03/03/2008, 14:12
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Yo cree una aplicación web como prueba y coloque un textbox para ingresar las ips y un label para que me presentara el pais de origen de la misma al hacer click en un boton y este si funciona si ingreso la ip de mi maquina y presiono el boton me sale ECUADOR aqui esta el codigo:

private void btnBuscar_Click(object sender, EventArgs e)
{
IPService.GeoIPService gs = new IPService.GeoIPService();
IPService.GeoIP g = gs.GetGeoIP(textBox1.Text);
label2.Text = g.CountryName;
}

y claro agrege la referencia web del service de GeoIp, pero esa validación tendría que hacerla por ejemplo en el load de mi aplicación para ir preguntando si el pais es ECUADOR o COLOMBIA presenta esto en ciertas secciones del sitio si es Estados Unidos presenta ciertos cosas adicionales y si es por ejemplo Italia persenta estas otras opciones en el sitio y como hago eso?

Me dieron un consejo de que con controles de usuario pero aún no sé como usarlos.

Gracias por su ayuda cualquier ayuda es mucho para mí.
  #19 (permalink)  
Antiguo 03/03/2008, 14:25
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

pues con controles de usuario podrias crear las propiedades para poder hacer el bindeo de acuerdo al pais de origen.

con lo q respecta al evento yo diria q validaras como ya lo habia comentaod antes al inicio de session (recuerda no sesion de logeo si no sesion entre tu host y tu cliente) en el global asax

y pues ahi creo q ocn ello podrias generar una variable en la sesion actual q validara la ip y q tus controles de usuario revisaran.

saludos
peter
  #20 (permalink)  
Antiguo 03/03/2008, 15:01
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Reconocer IP del pais del visitante.

Bueno voy a seguir tu consejo en lo que respecta al global.asax asi que voy a poner la validación ahi, pero no tengo idea de como crear controles de usuario que reciban eso como parametro o no sé como los cojerá, me ayudaras mucho si me pasaras algún ejemplo o manual de como crear controles de usuario y como hacer que reciban esos parametros.

Graciad de nuevo.
  #21 (permalink)  
Antiguo 03/03/2008, 15:37
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Reconocer IP del pais del visitante.

cuando inicies una sesion registra

Session.Add("PAIS",VALOR);

en el mismos global.asax

y cuando vayas a cargar un grid o algo asi con datos, puedes decirle q tucontrol.Pais=Session["PAIS"];

e internamente filtrar tu busqueda en tu query.

saludos
peter
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas




La zona horaria es GMT -6. Ahora son las 01:41.