WHOIS域名可用性搜索



我发现了下面的域检查函数,但我似乎无法使其工作。

function domain_checker($domain){
$extension = explode(".",$domainname);  
$extension = $extension[1];  
switch($extension)  
{  
    case "com": $server = "whois.verisign-grs.com"; break;  
    case "net": $server = "whois.verisign-grs.com"; break;  
    case "org": $server = "whois.pir.org"; break;  
    case "info": $server = "whois.afilias.net"; break;  
    case "biz": $server = "whois.biz"; break;  
    case "name": $server = "whois.nic.name"; break;  
    default: return "Given Extension not supported"; exit();  
}  
// connecting to the whois server.  
$handle = fsockopen($server, 43);  
if (!$handle)  
    return false; // connectin failure   
//asking the server  
fwrite($handle, $domainname."rn");  
// getting response  
$response = '';  
while (!feof($handle))  
    $response .= fgets($handle, 1024);  
fclose($handle);  
//checking if domain is available or not  
if($extension=="com" || $extension=="net" || $extension=="name")  
{  
    if(stripos($response, 'No match') === FALSE )  
        return $domainname." is not Available!";  
    else  
        return $domainname. " is Available!";  
}  
else  
{  
    if(stripos($response, "NOT FOUND") === FALSE)  
        return $domainname. " is not Available!";  
    else  
        return $domainname. " is Available!";  
}      

}

我一直得到以下错误:

警告:fsockopen()[function.fsockopen]:无法连接致whois.verisign grs.com:43

感谢帮助!

正如@phpdev所写:从错误消息中可以明显看出,whois.verisign-grs.com不接受端口43上的连接。您可能需要找到另一个whois服务器来将您的请求传递到。

我会找到一个验证的解决方案:

http://www.verisigninc.com/cgi-bin/whois?type=domain&eswhois_nic=google.com&whois_tld=com

参数:eswhois_nic是域名,whois_tldcomnet,基于域然后用curl或file_get_contents和voila获取请求即可;)

我可以验证kristian发布的链接是否有效。你只需要先设置你的COOKIE。它现在在位于这里的主站点上有一个captcha。

你必须让你的用户在那里填写captcha并存储cookie的结果。

http://www.verisigninc.com/en_US/products-and-services/domain-name-services/whois/index.xhtml

最新更新