快速查看域是否正在使用或使用 PHP 注册


Fast way to see if a domain is in use or registered using PHP

我正在寻找一个快速的wat来测试域名是否正在使用中,因此附加了一个站点。我有一个庞大的域名列表,需要检查哪些域名是否附加了网站。

如果我知道有一个附加的网站,那么我不需要做任何耗时的whois查找等。

我最初的想法是检查HTTP标头代码,并查看标头代码是否返回200,301,302......如果是其他内容,则很有可能没有附加站点或域名可用。我正在使用的代码狙击手是:

$headers = @get_headers( $url);
$headers = (is_array($headers)) ? implode( "'n ", $headers) : $headers;
return (bool)preg_match('#^HTTP/.*'s+[(200|301|302)]+'s#i', $headers);

然而,这个过程非常缓慢。

接下来,我尝试使用 PHP 函数 checkdnsrr 来检查是否存在 DNS 记录。我正在使用以下代码狙击手。

if (checkdnsrr($domain . ".", "A") == false) {
   echo "Domain might be available";
} else {
   echo "Domain is in use";
}

不幸的是,它给了我很多"虚假"信息,说该域可能可用。以下代码片段也是如此:

if (gethostbyname($domain) != $domain) {
  echo "DNS Record found";
} else {
  echo "NO DNS Record found";
}

WHOIS查找也是一种可能性,但是对于所有新TLD(.frl,.xyz等),这可能是一项艰巨的设置任务。

我的另一个想法是ping有问题的域名,如果我得到回应,我知道域名"正在使用中"。不确定这是否是最好的方法,我问您是否有一种快速但更可靠的方法来检查域是否正在使用(或注册)?

你可以尝试解析 "http://whois.domaintools.com/" . $domain

并查找关键字"域可用"