10. ホスト名からIPアドレスを取得する RemoteHost.java

ホスト名からIPアドレスを調べる。

 

RemoteHost.java

//
// RemoteHost.java
//
// IPアドレスを取得する
//
// java RemoteHost (ホスト名)
//

import java.net.InetAddress ;

public class RemoteHost {
	
	public static void main( String[] args ) {
		
		// 引数のチェック
		if ( args.length <= 0 ) {
			System.out.println( "ホスト名を指定してください!" ) ;
			System.exit( 1 ) ;
		}
		
		try {
			InetAddress name = InetAddress.getByName( args[0] ) ;
			System.out.println( name ) ;
		} catch( Exception e ) {
			System.out.print( args[0] ) ;
			System.out.println( "にアクセスできません!" ) ;
			System.exit( 1 ) ;
		}
	}

}

■実行

www.yahoo.co.jpのIPアドレスを調べる。

 $ java RemoteHost www.yahoo.co.jp
www.yahoo.co.jp/202.93.91.151

 確認する。

$ dig www.yahoo.co.jp 

 サーバの引っ越し等によってIPアドレスは変わるし、yahooのように大きいサイトはロードバランサによって複数のIPアドレスを持っていたりするので、上記のアドレスと異なることもある。

 

 ■APIを調べる

InetAddressのgetByNameは、どんなことをするメソッドなのかを調べる。

Java1.5 API で InetAddress を調べる

ホスト名をStringで与えれば、戻り値としてホストのIPアドレスが得られることが分かる。