Artículos
Java

Recuperar la cabecera X-Forwarded-For

10/Oct/2009

X-Forwarded-For es una cabecera HTTP que nos permite conocer la IP origen de la petición. Y es que hasta ahora se utilizaba REMOTE_ADDR, la cual solo nos devolvía la IP de la última máquina por la que había pasado. A todas luces poco útil de cara a conocer el origen de la petición.

El formato de la cabecera X-Forwarded-For es el siguiente:

X-Forwarded-For: client1, proxy1, proxy2

En nuestro caso vamos a montar un servlet en Java que acceda a esta cabecera. Para acceder a los datos de la cabecera nos apoyaremos en el método .getHeader() del objeto HttpServletRequest. En este caso el nombre de la cabecera es «X-Forwarded-For», así que el código será el siguiente:

String sIP = request.getHeader("X-FORWARDED-FOR");

Ahora, con esta ristra de datos podemos hacer lo que queramos. Posiblemente necesitemos apoyarnos en StringTokenizer para desmontar la cadena de IP. O, por lo menos, volcar el contenido a la pantalla:

PrintWriter out = response.getWriter();
out.print("La IP origen ha llegado por: " + sIP);

¿Conocías la existencia de X-Forwarded-For? ¿Crees que puede ayudarte en algo en tus programas?

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
5 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios