1. 通过主机名获取ip地址,再通过主机名获取地址的过程中,通过DNS查找有无该主机名,再java中对不成功的DNS查询只缓存10秒
//根据域名返回对应的ip地址
System.out.println("====根据域名返回对应的ip地址======");
System.out.println("DNS查询ip开始时间:"+new SimpleDateFormat("YYYY-MM-dd hh:mm:ss").format(new Date()));
InetAddress inet = InetAddress.getByName("www.baidu.com");
System.out.println(inet);
2. 根据主机名返回所有的ip地址
//返回域名下所有的ip地址
System.out.println("====返回域名下所有的ip地址=====");
InetAddress[] inets = InetAddress.getAllByName("www.baidu.com");
for(InetAddress ine : inets){
System.out.println(ine);
}
3. 查找本机的真正地址
//查找本地主机的真正地址
System.out.println("=====查找本地主机的真正地址=======");
InetAddress inetsReal = InetAddress.getLocalHost();
System.out.println(inetsReal);
4. 再根据ip查询主机地址的时候出现问题,按道理应该返回主机名/ip,但是只返回/ip,使用命令行ping,发现可以ping通,问题没有解决
//根据地址返回InetAddress对象
System.out.println("======根据地址返回InetAddress对象======");
InetAddress inetByAddre = InetAddress.getByName("61.135.169.121");
System.out.println("ip:"+inetByAddre.getHostAddress());
System.out.println("HostName:"+inetByAddre.getHostName());