gpt4 book ai didi

PHP checkdnsrr() 函数没有给出预期的结果

转载 作者:可可西里 更新时间:2023-11-01 00:49:29 24 4
gpt4 key购买 nike

我在 PHP 中尝试使用 checkdnsrr() 函数来测试给定的主机名是否有效。

PHP代码如下:

$url = "this_is_a_wrong_url.com";
if (checkdnsrr($url, 'A'))
{
echo "Domain exists.";
}
else
{
echo "Domain doesnot exists.";
}

但即使对于无效的 url,它也会返回 true。

我做错了什么?我正在使用 PHP 5.3.5

编辑:此代码在具有相同 PHP 版本的 Linux 机器上运行良好。它仅在 Windows 机器上给出无效结果。

最佳答案

一些 ISP 会将无效域重定向到他们自己的搜索服务器。 TimeWarner/RoadRunner 就是这样一种 ISP。您的代码工作正常,但您可能需要检查以确保它们不会解析到您的 ISP 的搜索服务器。首先使用 gethostbyname 检查无效域,然后使用它进行检查。

if (checkdnsrr($url, 'A') && gethostbyname($url) != '204.232.137.207' && gethostbyname($url) !='66.152.109.110')

或者更好的是

if(checkdnsrr($url,'A') && !in_array(gethostbyname($url),gethostbynamel('this_is_a_wrong_url.com')))

关于PHP checkdnsrr() 函数没有给出预期的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10642236/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com