我需要检查域名服务器使用的是什么,但无法在PHP中找到正确的解决方案。
我已经尝试了checkdnsrr();和dns_get_record();,他们都不显示NS的一些域名是工作。Whois也不是一个解决方案。
我的目的是过滤哪些域名设置了域名服务器,哪些域名没有域名服务器。有什么解决方案吗?
发布于 2014-07-16 18:01:58
您应该简单地使用dns_get_record函数,也可以选择将DNS_NS作为第二个参数进行传递。
对于您的域zinas.lv,使用
var_dump(dns_get_record('zinas.lv', DNS_NS));我得到了:
数组(2){ =>数组(5){ "host"=>字符串(8) "zinas.lv“”class“”=>字符串(2) "IN“"ttl"=> int(1655)”"type"=>字符串(2) "NS“"target"=>字符串(10) "ns1.dns.lv”} 1=>数组(5){ "host"=>字符串(8) "zinas.lv“"class"=>字符串(2)"IN“"ttl"=> int(1655) "type"=>字符串(2) "NS”"target"=>字符串(10) "ns2.dns.lv“}}
因此,您可以使用以下命令简单地显示这两个dns:
$dns = dns_get_record('zinas.lv', DNS_NS);
echo $dns[0]['target'].' '.$dns[1]['target'];发布于 2018-12-23 00:53:13
使用此函数以数组形式获取任何域的名称服务器:
function getDns($domain)
{
$dns = dns_get_record($domain, DNS_NS);
$nameservers = [];
foreach ($dns as $current)
$nameservers[] = $current['target'];
return $nameservers;
}https://stackoverflow.com/questions/24777551
复制相似问题