2015-07-19 41 views
1

为什么www.twitter.com返回一个不同的IP地址,有时我运行这个java代码?为什么www.twitter.com有时会使用InetAddress/getHostAddress()返回不同的IP地址?

InetAddress host = InetAddress.getByName("www.twitter.com"); 
    System.out.println("www.twitter.com" + " : " + host.getHostAddress()); 

其他网站大多会返回相同的IP地址, www.facebook.com总是返回179.60.193.3

Yahoo.com总是例如返回203.84.216.121

+0

此外,当我使用该IP地址时,它不会将我引导至twitter.com实际网站(当我将其输入到浏览器中时) –

+0

您会收到哪些值? –

+0

199.59.149.198 199.59.150.47 199.59.149.230例如 –

回答

2

因为www.twitter.com分配了多个IPv4地址。

主机名可以映射到多个IP地址。查找主机名时得到哪一个取决于DNS中的许多配置细节。

而且值得一提的是,IP地址也可以分配多个主机名。

+0

有没有一种方法,我可以看到有多少IPv4 twitter.com分配地址? –

+0

@PatrickLee'man dig'(如果你在一个基于Unix的系统上)应该引导你朝着正确的方向前进。 Windows有'nslookup'我想。 –

+0

您的结果也可能取决于您查询的DNS服务器。只需Google'dns servers',你就可以找到很多其他你可以查询的DNS服务器。 –

0

这很可能是由于DNS Round Robin。基本上,名称“twitter.com”不仅仅是一个A-记录,您的客户动态选择提供的记录之一并使用它。使用的记录可以频繁切换。

相关问题