2014-06-22 77 views
0

我正在關注一個腳本,以便我可以批量檢查域名。我已經嘗試了這一點,只使用了大約10個域名的想法,它的工作原理。但我現在嘗試與成千上萬的域名的想法運行這一點,但它只是加載了一會兒,然後去404fsockopen超時

這裏是我的功能

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?

+0

在PHP中爲max_execution_time設置了什麼?其次,檢查你的錯誤日誌中是否有相關的消息。我不知道它爲什麼會404,可能是如何設置網絡服務器。 – Devon

+0

請參閱每個註冊表whois服務器而不是隻有一個。並考慮到他們的速率限制和訪問策略。 –

回答

0

我相信你會得到404錯誤'因爲你的代碼中的URL是錯誤的;將whois-servers.net更改爲whois-server.net。然後,在while循環中添加一個計數器,您將獲得限制。否則,有人會說每日限制是100,其他1000個查詢是每個IP。