1.InetAddress簡介
InetAddress類可以將數字地址轉換爲主機名稱,反之亦然,Inet4Address與Inet6Address類是InetAddress的兩個直接子類,分別表示IPv4地址和IPv6地址。InetAddress類提供了各種getter方法以返回主機名、主機地址等信息。InetAddress類不包含任何公開的構造函數,所以不能創建任意的地址。創建的所有地址都必須通過域名服務系統(DNS, Domain Name System)來進行檢查。
在下面的程序中,通過InetAddress的方法得到域名所映射的所有IP地址,DNS是允許域名同一些列主機相關聯的。
2.DNS解析主機IP地址程序
程序代碼如下:
import java.net.InetAddress;
import java.net.UnknownHostException;
public class DNSLookUp {
/**
* @author Qunzer
* @param args
* @since 2014/1/5
*/
public static void main(String[] args) {
InetAddress[] inetHost = null;
String[] hostName = { "www.qunar.com", "www.baidu.com",
"www.google.com" };
for (String myHostName : hostName) {
System.out.println("List of " + myHostName + " servers");
try {
inetHost = InetAddress.getAllByName(myHostName);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
System.out.println("the host is unknown!");
e.printStackTrace();
}
int count = 0;
for (InetAddress inet : inetHost) {
System.out.println(count + ": " + inet.getHostName()
+ "的DNS關聯IP地址 " + inet.getHostAddress());
count++;
}
}
System.out.println("DNS looking up ended");
}
}
執行結果如下:
List of www.qunar.com servers
0: www.qunar.com的DNS關聯IP地址 59.151.61.61
1: www.qunar.com的DNS關聯IP地址 59.151.61.62
List of www.baidu.com servers
0: www.baidu.com的DNS關聯IP地址 119.75.217.56
1: www.baidu.com的DNS關聯IP地址 119.75.218.77
List of www.google.com servers
0: www.google.com的DNS關聯IP地址 173.194.127.212
1: www.google.com的DNS關聯IP地址 173.194.127.209
2: www.google.com的DNS關聯IP地址 173.194.127.210
3: www.google.com的DNS關聯IP地址 173.194.127.211
4: www.google.com的DNS關聯IP地址 173.194.127.208
DNS looking up ended
從以上輸出信息中可以看出,去哪兒網將自己的網站託管在了2個不同的IP地址上,百度將自己的網站託管了2個IP地址上,谷歌則將託管到了5個服務器上。