2014-06-22 3 views
0

도메인 이름을 일괄 적으로 확인할 수 있도록 스크립트를 따르고 있습니다. 저는 약 10 개의 도메인 아이디어를 사용하여이 작업을 시도했으며 작동합니다. 하지만 지금은 도메인 아이디어의 수천이를 실행하려고 메신저하지만 잠시 후 404 여기fsockopen이 시간 초과 됨

에가는 것이 바로로드하면이 작업 할 수있는 방법 내 기능

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이고 다른 일부는 ip 당 1000 개의 쿼리라고합니다.

관련 문제