Ответ 1
Попробуйте следующее:
InetAddress address = InetAddress.getByName(new URL(urlString).getHost());
Чтобы получить исходный IP-адрес:
String ip = address.getHostAddress();
В моей программе пользователь вводит строку url, скажем
http://www.engineering.uiowa.edu/~hawkeng//fall01/graphics/potato.gif
как я могу получить IP-адрес этого URL-адреса? Я попытался использовать
InetAddress address = InetAddress.getByName(urlStr);
но результат всегда возвращается null. Каков правильный способ получить IP-адрес?
Попробуйте следующее:
InetAddress address = InetAddress.getByName(new URL(urlString).getHost());
Чтобы получить исходный IP-адрес:
String ip = address.getHostAddress();
Вам нужно дать 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());