php gethostbyname() function


php gethostbyname() function

使用 gethostbyname() 并不总是返回 IP 地址。相反,它会再次返回相同的主机名。这是什么原因呢?起初我以为这是一个假主机名。然后在一个试图捕获一些机器人的函数中使用它,它发现百度使用假主机名,正如我测试的那样,这是一个假主机名。

例:

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

任何有助于更好地理解这一点的帮助。

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

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

在您的示例中,百度尚未为其机器人设置 A-Record,在 Linux 中,host 命令打印:

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