Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda necesito obtener IP visitante en Struts 1

Estas en el tema de Ayuda necesito obtener IP visitante en Struts 1 en el foro de Java en Foros del Web. Os explico mi problema. Trabajo con Struts 1, mediante el siguiente fragmento de código desde el action intento obtener la ip del usuario visitante pero ...
  #1 (permalink)  
Antiguo 22/02/2011, 09:42
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta Ayuda necesito obtener IP visitante en Struts 1

Os explico mi problema.

Trabajo con Struts 1, mediante el siguiente fragmento de código desde el action intento obtener la ip del usuario visitante pero me devuelve la ip del servidor.

public class envioDatos extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

String ipaddress = request.getHeader("HTTP_X_FORWARDED_FOR");

if (ipaddress == null)
ipaddress = request.getRemoteAddr();


Al parecer al ser invocado desde la clase controladora (ActionServlet) el request obtiene la ip de este.

Alquien sabe como hayar la ip del cliente???
Gracias
  #2 (permalink)  
Antiguo 22/02/2011, 10:05
Avatar de jhonmelguizo  
Fecha de Ingreso: enero-2008
Ubicación: Medellín - Colombia
Mensajes: 264
Antigüedad: 16 años, 3 meses
Puntos: 6
Información Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Hola, quizás sea de ayuda:

Código JAVA:
Ver original
  1. import java.net.InetAddress;
  2. import java.net.UnknownHostException;
  3.  
  4.     /**
  5.      * Entrega nombre de usuario local o ip(Desde donde se abre la aplicación)
  6.      * @return String
  7.      */
  8.     public static String getUser(){
  9.         try {
  10.             return InetAddress.getLocalHost().toString();
  11.         } catch (UnknownHostException ex) {
  12.             return "Error al retornar el nombre de usuario: " + ex;
  13.         }
  14.     }
  #3 (permalink)  
Antiguo 22/02/2011, 10:19
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Gracias por la respuesta, pero eso no funciona, me sigue devolviendo la ip del servidor.

Alguna otra idea????
  #4 (permalink)  
Antiguo 24/02/2011, 05:05
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

No estarás ejecutando la aplicacion desde el servidor??

Prueba con esto:

String ip = request.getRemoteAddr().toString();

Un saludo.


Athlit

Última edición por ElAthlit; 24/02/2011 a las 05:06 Razón: Añadir más INFO
  #5 (permalink)  
Antiguo 28/02/2011, 02:28
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Hola,

Gracias por la respuesta, es una aplicación web, evidentemente está en el servidor.

Y lo que me indicas está en la pregunta que hice inicialmente y no funciona.

Alguien que sepa como hacerlo?
  #6 (permalink)  
Antiguo 28/02/2011, 03:23
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Hola vuelometro,
no me has entendido. Evidentemente la aplicación web debe estar en un servidor....
Lo que te digo es si ejecutas la aplicación web como CLIENTE en el mismo SERVIDOR. Siempre obtendras la misma IP como servidor y cliente.
Si la aplicación web la tienes en el PC1, vete físicamente a otro PC (PC2) y con el código que te puse, el servidor te dará la IP del PC2.

Un saludo.

Athlit.
  #7 (permalink)  
Antiguo 01/03/2011, 05:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Gracias por la respuesta Athlit, y si, lo he probado desde varias maquinas. y siempre obtengo la ip del server.
  #8 (permalink)  
Antiguo 01/03/2011, 07:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Hola vuelometro,
me dejas alucinando. Lo único ya que se me ocurre es que el servidor donde tienes la aplicación sea el mismo que usas como servidor proxy, siendo de esta forma el PC2, PC3,... te darían la IP del servidor en vez de la suya.
¿El servidor donde está alojada la aplicación es proxy tambien?

Un saludo.

Athlit.
  #9 (permalink)  
Antiguo 01/03/2011, 08:38
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Hola,

El server está en un hosting linux en Alemania. y no es un servidor proxy.
  #10 (permalink)  
Antiguo 01/03/2011, 11:56
Avatar de jhonmelguizo  
Fecha de Ingreso: enero-2008
Ubicación: Medellín - Colombia
Mensajes: 264
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Cita:
Iniciado por vuelometro Ver Mensaje
Hola,

El server está en un hosting linux en Alemania. y no es un servidor proxy.
Ya tienes la solución?
__________________
¡No competimos, compartimos!...
  #11 (permalink)  
Antiguo 07/03/2011, 17:45
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Si el hosting tuviera iptables, podría estar cambiando la ip remota por la local para temas internos de rutas. Míralo.

Un saludo.

Athlit.
  #12 (permalink)  
Antiguo 14/11/2011, 04:47
 
Fecha de Ingreso: diciembre-2010
Mensajes: 7
Antigüedad: 13 años, 4 meses
Puntos: 0
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Lo resolví así:

String IP = request.getHeader("X-Forwarded-For");

Esto es porque hay un salto de APACHE=>TOMCAT=>jsp
  #13 (permalink)  
Antiguo 15/11/2011, 08:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Ayuda necesito obtener IP visitante en Struts 1

Solo como anotación, recogiendo la IP de esa forma puedes encontrarte "sopresas", ya que cambiar la IP mediante cabeceras (por parte del cliente evidentemente) es muy fácil.

Un saludo!!

Etiquetas: ip, struts, visitante
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




La zona horaria es GMT -6. Ahora son las 14:15.