php gethostbyname()函数

时间:2013-10-25 22:54:10

标签: php

使用gethostbyname()并不总是返回IP地址。相反,它会再次返回相同的主机名。这是什么原因?起初我以为这是一个虚假的主机名。然后在一个试图抓住一些机器人的功能中使用它,它使用假的主机名捕获baidu,我测试的是假的。

示例:

echo gethostbyname('baiduspider-123-125-71-12.crawl.baidu.com');

返回

baiduspider-123-125-71-12.crawl.baidu.com

echo gethostbyname('201-35-178-134.cslce701.dsl.brasiltelecom.net.br');

返回

201.35.178.134

任何理解这一点的帮助都会更好。

1 个答案:

答案 0 :(得分:2)

查看文档: 返回IPv4地址或包含失败时未修改主机名的字符串。

如果找不到域或没有相应的A-Record,则返回未修改的主机名。

在你的例子中,百度没有为他们的机器人设置A-Record,在Linux中,host命令打印出:

Host baiduspider-123-125-71-12.crawl.baidu.com not found: 3(NXDOMAIN)