Php WHOIS域可用性搜索

Php WHOIS域可用性搜索,php,search,whois,domain-name,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

我偶然发现了下面的域检查功能,但我似乎无法让它工作

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


谢谢你的帮助

正如@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\u nic
是域名,
whois\u tld
是基于域的com或net
然后只需使用curl或file_get_contents执行get请求,瞧

我可以验证克里斯蒂安发布的链接是否有效。你只需要先设置你的COOKIE。现在在他们的主要网站上有一个验证码

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


从错误消息中可以看出,
whois.verisign grs.com
不接受端口
43
上的连接。您可能需要找到另一个whois服务器来将请求传递给。不仅是verisign服务器发出了错误,他们都发出了错误。这些服务器是否停止免费提供这些信息?这是可能的。也许你可以向verisign的支持人员查询一下,看看他们是否有任何whois服务器可以通过API或Web服务进行公共访问。我的服务器是否有可能阻止我进行whois查询?我发现了一个类似于这个脚本的演示,它工作得很好,但当我将该功能添加到自己的站点时,它超时了……是的,这也是一种可能性。你能在你的服务器上启动一个shell并尝试连接到whois服务器吗?这个URL有500个错误。有打字错误吗?好的,以前为我工作过,也许我在会话中有什么东西,更新了我的url:)这个url仍然没有为我返回任何东西。过了一会儿,它就超时了。我还缺什么吗?