Artículos
Java

Obtener la IP que invoca al servlet

12/Ene/2008

Mediante el siguiente código podremos recuperar la IP del usuario que está realizando la petición sobre el Servlet. Dadas todas las circunstancias que pueden rodear a la topología de las redes la IP que obtendremos no tiene porque ser la IP del usuario final, sino que fácilmente podría ser la IP de un proxy intermedio,… Es por ello que el ejemplo hay que utilizarle con fines didácticos y si lo usamos para producción, con un gran cuidado.

La IP de la máquina que invoca es una información que al servlet le llega en la petición, consecuentemente sus métodos doGet y doPost lo tendrán en el objeto HttpServletRequest.

Los métodos que nos permiten recuperar la información de la IP y el nombre de la máquina peticionaria son: getRemoteHost() y getRemoteAddr(). Simplemente les invocamos sobre el método HttpServletRequest.

String ip = null; // IP del cliente
String host = null; // Host del cliente

ip = request.getRemoteAddr();
host = request.getRemoteHost();

Una vez obtenida la información, simplemente tendremos que devolverla por respuesta. Para ello nos apoyamos sobre los objetos PrintWriter y HttpServletResponse.

Veamos el código:

PrintWriter out = response.getWriter();
response.setContentType("text/html");
	   
out.println("Obtener IP del cliente

");
out.println("Obtener la IP del cliente ");
out.println("La ip del cliente es " + ip + "
"); out.println("El host del cliente es " + host); out.println("");

Ver que el código que se devuelve en el stream de respuesta es una página web. De hecho, antes de devolver ninguna información indicamos que el content-type de respuesta es un «text/html».

Vídeos sobre Java

Disfruta también de nuestros artículos sobre Java en formato vídeo. Aprovecha y suscribete a nuestro canal.

Test Java

¿Te atreves a probar tus habilidades y conocimiento en Java con nuestro test?

Test Java
Suscribir
Notificar de
guest
8 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios