【问题标题】:fsockopen is timing outfsockopen 超时
【发布时间】:2014-08-12 18:52:58
【问题描述】:

我正在关注一个脚本,所以我可以批量检查域名。我只使用了大约 10 个领域的想法就尝试过这个,它很有效。但现在我试图用数千个领域的想法来运行它,但它只是加载了一段时间然后转到 404

这是我的功能

function is_avail($domain) 
{     
    $pieces = explode(".", $domain); 
    $server = (count($pieces) == 2) ? $pieces[1] : $pieces[1] . "." . $pieces[2]; 
    $server .= ".whois-servers.net"; 
    $fp = fsockopen($server, 43, $errno, $errstr, 10); 
    $result = ""; 
    if($fp === FALSE){ return FALSE; } 
    fputs($fp, $domain . "\r\n");     
    while(!feof($fp)){ $result .= fgets($fp, 128); } 
    fclose($fp); 

    return ((stristr($result, 'no match for') !== FALSE) || (strtolower($result) == "notfound\n")) ? TRUE : FALSE; 
} 

有没有办法让这个工作或者 whois-servers.net 有限制?

【问题讨论】:

  • PHP 中设置的 max_execution_time 是多少?其次,检查您的错误日志以获取任何相关消息。我不确定为什么会出现 404,可能是 Web 服务器是如何设置的。
  • 咨询每个注册中心 whois 服务器,而不仅仅是一个。并考虑他们的速率限制和访问政策。

标签: php timeout fsockopen whois


【解决方案1】:

我相信您会收到 404 错误,因为您的代码中的 url 是错误的;将whois-servers.net 更改为whois-server.net。然后,在 while 循环中添加一个计数器,您将获得限制。否则,有人说每日限制是 100 次,而另一些人则说每个 ip 1000 次查询。

【讨论】:

    猜你喜欢
    • 2011-03-22
    • 2011-06-17
    • 2016-10-17
    • 1970-01-01
    • 2012-08-12
    • 2018-12-30
    • 2018-07-08
    • 2011-09-28
    • 2013-09-15
    相关资源
    最近更新 更多