Próbuję przekonwertować adres określony przez numer IP lub nazwę, zarówno w ciągu (tj. localhost
Lub 127.0.0.1
), na obiekt InetAdress . Nie ma konstruktora, ale raczej statyczne metody, które zwracają InetAddress . Więc jeśli otrzymam nazwę hosta, nie stanowi to problemu, ale co, jeśli otrzymam numer IP? Jest jedna metoda, która pobiera bajt [], ale nie jestem pewien, jak może mi to pomóc. Wszystkie inne metody otrzymują nazwę hosta.
82
byte[] loopback = {0x7f,0x00,0x00,0x01};
Z interfejsu API dla InetAddress
źródło
ip = InetAddress.getByAddress(new byte[] { (byte)192, (byte)168, (byte)0, (byte)102} );
źródło
InetAddress.getByName działa również dla adresu IP.
Z JavaDoc
źródło
Interfejs API jest dość łatwy w użyciu.
// Lookup the dns, if the ip exists. if (!ip.isEmpty()) { InetAddress inetAddress = InetAddress.getByName(ip); dns = inetAddress.getCanonicalHostName(); }
źródło
To jest projekt uzyskiwania adresu IP dowolnej strony internetowej, jest użyteczny i łatwy do wykonania.
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(); } } }
źródło