import java.net.*;public class Example16_4 { public static void main (String[] args) {
try{
InetAddress address_1=InetAddress.getByName("www.sina.com.cn");
System.out.println(address_1.toString());
InetAddress address_2=InetAddress.getByName("174.35.3.29");
System.out.println(address_2.toString());
}
catch(UnknownHostException e){
System.out.println("主机域名或IP地址错误,无法解析!");
}
}}
运行结果是:
www.sina.com.cn/174.35.40.3
/174.35.3.29
为什么不是:
www.sina.com.cn/174.35.40.3
www.sina.com.cn/174.35.40.3

解决方案 »

  1.   

    为什么是
    www.sina.com.cn/174.35.40.3
    www.sina.com.cn/174.35.40.3
    ??第二个你填写的IP是174.35.3.29,根本就不是174.35.40.3
      

  2.   

    174.35.3.29是之前运行时得到的ip地址,又有一个问题了,运行时程序同一个域名怎么会得到不同的ip地址
      

  3.   

    你用getAllByName替换getByName看看结果就知道了。
      

  4.   

    toString 会打印出域名及IP,入参不是域名时不会打印域名。
    一个域名可以对应多个 IP,这个是域名对应的服务器使用了负载均衡。
      

  5.   

    试了,用getAllByName()替代后有运行结果:
    www.sina.com.cn/174.35.52.140
    www.sina.com.cn/174.35.52.142
    /174.35.40.45
    www.sina.com.cn/174.35.40.42
    www.sina.com.cn/174.35.40.45
    /174.35.40.45
    还有好多种情况