使用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任何有助于理解这一点的更好的感谢。
发布于 2013-10-25 22:57:05
查看文档:在失败时返回IPv4地址或包含未修改主机名的字符串。
如果它找不到域或者没有对应的A记录,它会返回未经修改的主机名。
在您的示例中,百度没有为他们的机器人设置A记录,在Linux中,host命令打印如下:
Host baiduspider-123-125-71-12.crawl.baidu.com not found: 3(NXDOMAIN)https://stackoverflow.com/questions/19600620
复制相似问题