WHOIS域可用性搜索

时间:2012-07-13 09:35:40

标签: php search whois domain-name

我遇到了以下域检查功能,我似乎无法让它工作。

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."\r\n");  

// 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]:无法连接   to whois.verisign-grs.com:43

帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

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

我会找到verisign的解决方案:

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

参数:eswhois_nic是域名,whois_tld com net ,基于域名 然后用curl或file_get_contents获取请求并瞧瞧;)

答案 1 :(得分:0)

我可以验证kristian发布的链接有效。你只需要先设置你的COOKIE。现在它的主站点上有一个验证码。

您必须让用户在那里填写验证码并存储Cookie的结果。

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