nombre - obtener la direccion ip desde java
Cómo obtener la dirección IP del cliente en Java HttpServletRequest (2)
Estoy tratando de desarrollar una aplicación web Java (Servlet) que necesito para obtener la dirección IP del cliente.
No lo considero una pregunta duplicada porque probé todas las respuestas posibles que están disponibles en el stackoverflow.
A continuación está mi código hasta ahora:
1)
String ipAddress = request.getRemoteAddr();
En este caso, la mayor parte del tomo recibe la ''Dirección de puerta de enlace predeterminada'' (147.120.1.5). no es mi dirección IP de máquina (174.120.100.17).
2)
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
En este caso, la mayor parte del tomo recibe la ''Dirección de puerta de enlace predeterminada'' (147.120.1.5). no es mi dirección IP de máquina (174.120.100.17).
3)
InetAddress IP=InetAddress.getLocalHost();
System.out.println(IP.getHostAddress());
En este caso, recibí la dirección IP del servidor (147.120.20.1).
Mi dirección IP en 147.120.100.17. Ahora no sé cómo obtener la dirección IP del cliente real. Por favor haz una respuesta.
Muchas gracias.
import java.net.UnknownHostException;
/**
* Simple Java program to find IP Address of localhost. This program uses
* InetAddress from java.net package to find IP address.
*
*/
public class IPTest {
public static void main(String args[]) throws UnknownHostException {
InetAddress addr = InetAddress.getLocalHost();
//Getting IPAddress of localhost - getHostAddress return IP Address
// in textual format
String ipAddress = addr.getHostAddress();
System.out.println("IP address of localhost from Java Program: " + ipAddress);
//Hostname
String hostname = addr.getHostName();
System.out.println("Name of hostname : " + hostname);
}
}
Salida:
IP address of localhost from Java Program: 190.12.209.123
Name of hostname : PCLOND3433
Prueba este,
String ipAddress = request.getHeader("X-FORWARDED-FOR");
if (ipAddress == null) {
ipAddress = request.getRemoteAddr();
}
referencia: http://www.mkyong.com/java/how-to-get-client-ip-address-in-java/