sábado, 23 de agosto de 2014

¿Como obtener la IP y Nombre del Host desde Java?


Muchas veces necesitamos obtener la ip donde estamos ejecutando nuestra aplicación, ya sea para llenar un Log o para realizar otra operación. Para conocer  la IP local desde Java solo tendremos que utilizar  el objeto InetAddress. (java.net.InetAddress)

con estas tres líneas podrás saber tu número de ip y tu nombre de host:

InetAddress IP; 
 
IP = InetAddress.getLocalHost();
System.out.println("Nombre de Host:"+IP.localHost.getHostName());
System.out.println( "Dirección IP:"+IP.localHost.getHostAddress());


Para conocer tu IP externa, debes hacer una llamada al exterior porque desde tu 
propia maquina no sabes cuál es tu ip, ya que realmente la ip pertenece al routerque es tu puerta de enlace.
para conocer realmente cuál es tu IP externa debes hacer una petición http, hay algunas páginas que te devuelven esta información , como http://www.whatismyip.com/ y http://checkip.amazonaws.com/
Te muestro un pequeño ejemplo:

URL whatismyip = new URL("http://checkip.amazonaws.com");
 
BufferedReader entrada = new BufferedReader(new InputStreamReader(
 
whatismyip.openStream()));
 
String IPpublic = entrada.readLine();
 
System.out.println("MI IP PUBLICA ES: = "IPpublic);
 
entrada.close();


0 comentarios :

Publicar un comentario