2012-02-15 16 views

Respuesta

49

Prueba esto:

InetAddress address = InetAddress.getByName(new URL(urlString).getHost()); 

Para obtener el IP prima:

String ip = address.getHostAddress(); 
+1

Gracias que trabajaron, a pesar de que devuelve un nombre/dirección IP. Si quiero usar la dirección IP para un socket, ¿necesito usar el '/' como delimitador para extraer solo la dirección IP o funcionaría como está? – user1205853

+2

simplemente llame a address.getHostAddress() en el objeto InetAddess para obtener una versión de cadena de la IP. O mejor, crea el socket directamente con el objeto InetAddress. – brettw

+0

@brettw: Edité mi respuesta al mismo tiempo que usted comentó. –

10

Es necesario dar hostname a getByName() método y devuelve

la dirección IP de un host , dado el nombre del anfitrión.

URL url = new URL("http://www.engineering.uiowa.edu/~hawkeng//fall01/graphics/potato.gif"); 
System.out.println(url.getHost()); 
InetAddress address = InetAddress.getByName(url.getHost()); 
System.out.println(address.toString()); 

salida = www.engineering.uiowa.edu/128.255.17.182

para obtener el IP address

String temp = address.toString(); 
String IP = temp.substring(temp.indexOf("/")+1,temp.length()); 
Cuestiones relacionadas