Estoy tratando de convertir una dirección especificada por un número de IP o un nombre, ambos en String (es decir, localhost
o 127.0.0.1
), en un objeto InetAdress . No hay constructor sino métodos estáticos que devuelven una InetAddress . Entonces, si obtengo un nombre de host, no es un problema, pero ¿qué pasa si obtengo el número de IP? Hay un método que obtiene el byte [] pero no estoy seguro de cómo me puede ayudar. Todos los demás métodos obtienen el nombre de host.
81
byte[] loopback = {0x7f,0x00,0x00,0x01};
Desde la API para InetAddress
fuente
ip = InetAddress.getByAddress(new byte[] { (byte)192, (byte)168, (byte)0, (byte)102} );
fuente
InetAddress.getByName también funciona para direcciones IP.
Desde JavaDoc
fuente
La API es bastante fácil de usar.
// Lookup the dns, if the ip exists. if (!ip.isEmpty()) { InetAddress inetAddress = InetAddress.getByName(ip); dns = inetAddress.getCanonicalHostName(); }
fuente
Este es un proyecto para obtener la dirección IP de cualquier sitio web, es útil y muy fácil de hacer.
import java.net.InetAddress; import java.net.UnkownHostExceptiin; public class Main{ public static void main(String[]args){ try{ InetAddress addr = InetAddresd.getByName("www.yahoo.com"); System.out.println(addr.getHostAddress()); }catch(UnknownHostException e){ e.printStrackTrace(); } } }
fuente