Получить IP-адрес со строкой URL? (Джава) - PullRequest
38 голосов
/ 15 февраля 2012

В моей программе пользователь вводит строку URL, скажем

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

как мне получить IP-адрес этого URL?Я пытался использовать

InetAddress address = InetAddress.getByName(urlStr);

, но результат всегда возвращается к нулю.Как правильно получить IP-адрес?

Ответы [ 2 ]

61 голосов
/ 15 февраля 2012

Попробуйте это:

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

Чтобы получить необработанный IP:

String ip = address.getHostAddress();
10 голосов
/ 15 февраля 2012

Вам нужно присвоить hostname методу getByName () , и он возвращает

IP-адрес хоста с учетом имени хоста.

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

Выход = www.engineering.uiowa.edu/128.255.17.182

Для получения IP address

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