【问题标题】:WHOIS Domain Availability SearchWHOIS 域可用性搜索
【发布时间】:2012-07-13 09:35:39
【问题描述】:

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

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

帮助表示赞赏!

【问题讨论】:

  • 从错误消息中,很明显whois.verisign-grs.com 不接受端口43 上的连接。您可能必须找到另一个 whois 服务器来将您的请求传递给。
  • 不只是威瑞信服务器给出了错误,他们都这样做了。是这些服务器停止免费提供这些信息了吗?
  • 这是可能的。也许您可以咨询威瑞信的支持,看看他们是否有任何可通过 API 或 Web 服务进行公共访问的 whois 服务器。
  • 我的服务器是否有可能阻止我进行 whois 查询?我找到了一个类似这个脚本的演示,它运行良好,但是当我将该函数添加到我自己的站点时,它超时了......
  • 是的,这也是一种可能。你能在你的服务器上启动一个 shell 并尝试连接到 whois 服务器吗?

标签: php search whois domain-name


【解决方案1】:

正如@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 获取请求,瞧 ;)

【讨论】:

  • 我收到此 URL 的 500 错误。有错别字吗?
  • 好的,以前为我工作过,也许我在会话中有一些东西,更新了我的 url :)
  • 这个网址仍然没有为我返回任何内容。它只是在一段时间后超时。我还缺少什么吗?
【解决方案2】:

我可以验证克里斯蒂安发布的链接是否有效。您只需要先设置您的 COOKIE。它现在在位于此处的主站点上有一个验证码。

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

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

【讨论】:

    猜你喜欢
    • 2013-04-12
    • 1970-01-01
    • 2023-01-14
    • 2015-10-09
    • 1970-01-01
    • 2022-06-14
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多