Estoy desarrollando una aplicación web con servlet java, espero obtener la información de usuario del IP llamando al request.getRemoteAddr()
desde el interior processRequest(HttpServletRequest request,HttpServletResponse response)
.¿Por qué HttpServletRequest.getRemoteAddr() no funciona en el servlet de Java?
Pero devuelve una dirección IP incorrecta. Como no soy muy conocedores de la materia, no sé lo que está en pantalla, tal vez un proxy, Tengo este:
RemoteAddr : 127.0.0.1 RemoteHost : 127.0.0.1 x-forwarded-for : null
127.0.0.1 no es mi IP.
Sin embargo cuando voy a: http://www.javascriptkit.com/script/script2/displayip.shtml
se mostrará el correcto, ya que estoy usando servlet, no tengo el .shtml en mi página html generada dinámicamente, ¿qué puedo hacer? ¿Y por qué la secuencia de comandos en ese sitio puede mostrarlo correctamente, mientras que request.getRemoteAddr()
no puede hacerlo?
Gracias por todas las respuestas, tengo una pista ahora, después de implementarlo en el servidor, funciona como se esperaba. Mostró la dirección correcta.
Pero incluso cuando lo desarrollo en mi máquina local, ¿cómo pedirle que muestre la IP absoluta como si se ejecutara en un servidor real? ¿O es factible?
Cuando dice 'ip incorrecta ', ¿está la dirección dentro de su dominio? ¿Qué tan malo es? ¿Puede darnos más información sobre lo que devuelve la llamada _es_? –