Obtenir l'adresse IP avec une chaîne D'URL? (Java)

Dans mon programme un utilisateur entre une chaîne d'url, dire

Http://www.engineering.uiowa.edu/~hawkeng//fall01/graphics/potato.gif

Comment obtenir l'adresse IP de cette url? J'ai essayé d'utiliser

InetAddress address = InetAddress.getByName(urlStr);

Mais le résultat revient toujours nul. Quelle est la bonne façon d'obtenir l'adresse IP?

36
demandé sur user1205853 2012-02-15 05:49:14

2 réponses

Essayez ceci:

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

Pour obtenir L'adresse IP brute:

String ip = address.getHostAddress();
53
répondu Victor Stafusa 2012-02-15 02:25:51

Vous devez donner hostname àgetbyname () méthode et il retourne

L'adresse IP d'un hôte, étant donné son nom.

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());

Sortie = www.engineering.uiowa.edu/128.255.17.182

Pour obtenir le IP address

String temp = address.toString();
String IP = temp.substring(temp.indexOf("/")+1,temp.length());
10
répondu RanRag 2012-02-15 02:09:09