web-dev-qa-db-ja.com

URL文字列でIPアドレスを取得しますか? (Java)

私のプログラムでは、ユーザーはURL文字列を入力します

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

このURLのIPアドレスを取得するにはどうすればよいですか?使ってみた

InetAddress address = InetAddress.getByName(urlStr);

ただし、結果は常にnullになります。 IPアドレスを取得する適切な方法は何ですか?

39
user1205853

これを試して:

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

生のIPを取得するには:

String ip = address.getHostAddress();
62
Victor Stafusa

hostnamegetByName() メソッドに渡す必要があります。

ホスト名を指定したホストの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());
10
RanRag