InetAddress 获取 IP地址和域名
package com.itheima.net;
import java.net.InetAddress;
public class TextGetIPAndDomain {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
getLocalIP();
String hostName="www.sohu.com";
getIPByName(hostName);
getAllIPByName(hostName);
}
//获取本地的IP
public static void getLocalIP(){
try {
InetAddress addr=InetAddress.getLocalHost();//创建本地主机IP对象
String hostAddr=addr.getHostAddress(); //获取IP地址
String hostName=addr.getHostName(); //获取本地机器名
System.out.println("本地IP地址:"+hostAddr);
System.out.println("本地机器名:"+hostName);
} catch (Exception e) {
// TODO: handle exception
System.out.println("不能获得主机IP地址:"+e.getMessage());
System.exit(1);
}
}
//根据域名获取主机的IP地址
public static void getIPByName(String hostName){
InetAddress addr;
try {
addr=InetAddress.getByName(hostName); //根据域名创建地址对象
String hostAddr=addr.getHostAddress(); //获取主机的Ip地址
System.out.println("域名为:"+hostName+"的主机IP地址:"+hostAddr);
} catch (Exception e) {
System.out.println("不能根据域名获取主机IP地址:"+e.getMessage());
System.exit(1);
}
}
//根据域名获取主机的所有Ip
public static void getAllIPByName(String hostName){
InetAddress[] addrs;
try {
addrs=InetAddress.getAllByName(hostName); //根据域名创建主机地址对象
String [] ips=new String[addrs.length];
System.out.println("域名为:"+hostName+"的主机的所有IP地址为:");
for (int i = 0; i < addrs.length; i++) {
ips[i]=addrs[i].getHostAddress(); //获取主机的IP地址
System.out.println(ips[i]);
}
} catch (Exception e) {
System.out.println("不能根据域名获取主机所有的IP地址:"+e.getMessage());
System.exit(1);
}
}
}