IP地址是Internet主机的作为路由寻址用的数字型标识,人不容易记忆。因而产生了域名(domain name)这一种字符型标识。
DNS即为域名解析服务。在这里我们如果想通过java程序来解析域名获得真实IP的话,可以通过java的InetAddress类来实现。 InetAddress中的getByName方法可以通过传入的字符串(域名)字段获取到”域名/IP”的值,再通过getHostAddress()方法可以获得IP地址,
代码如下
import java.net.InetAddress;
import java.net.UnknownHostException;
public class Test {
public static void main(String[] args) throws UnknownHostException {
//获取本机IP地址
System.out.println(InetAddress.getLocalHost().getHostAddress());
//获取www.baidu.com的地址
System.out.println(InetAddress.getByName("www.baidu.com"));
//获取www.baidu.com的真实IP地址
System.out.println(InetAddress.getByName("www.baidu.com").getHostAddress());
//获取配置在HOST中的域名IP地址
System.out.println(InetAddress.getByName("TEST").getHostAddress());
}
}
得到结果如下:
169.254.*.*(*为编辑时为隐私而隐藏)
www.baidu.com/119.75.218.70
119.75.218.70
192.111.111.111