2014-01-06 2 views
-1

Я пытаюсь создать некоторые данные с этого сайта, я сделал около 50 запросов, а затем сценарий перестал работать, и я не могу понять, почему, возможно, сайты заблокировали мой IP-адрес или что-то в этом роде?cURL Остановил работу после нескольких запросов

Если я запускаю скрипт из другого IP-адреса, он работает.

Есть ли все равно, чтобы все еще стереть данные с сайта, если он заблокировал меня?

это локон функция им с помощью

function doMagic($url) 
{ 
    $curl = curl_init(); 

    $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,"; 
    $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"; 
    $header[] = "Cache-Control: max-age=0"; 
    $header[] = "Connection: keep-alive"; 
    $header[] = "Keep-Alive: 300"; 
    $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
    $header[] = "Accept-Language: en-us,en;q=0.5"; 
    $header[] = "Pragma: "; 

    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00"); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($curl, CURLOPT_REFERER, "http://ds-scene.net"); 
    curl_setopt($curl, CURLOPT_AUTOREFERER, true); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_TIMEOUT, 30); 
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true); 
    $html = curl_exec($curl); 
    echo 'Curl error: '. curl_error($curl); 
    curl_close($curl); 

    return $html; 
} 

Благодарности

+0

Попробуйте установить 'curl_setopt ($ curl, CURLOPT_FAILONERROR, true);' и посмотреть, возвращает ли 'curl_error()' что-либо. – user555

+0

Ошибка скручивания: время работы после 30003 миллисекунд с полученными 0 байтами – Exoon

ответ

1

Если вы не получаете никакого ответа после определенных запросов суммы, то его подтвердили, что они не по душе любых повторных запросов от вас. Поэтому вам лучше перестать ударять их (если у вас нет разрешения на запуск паука на их сайте). Вы можете продолжить связывание с новым IP-адресом (CURLOPT_INTERFACE) или с использованием прокси-сервера (CURLOPT_PROXY) или даже путем замедления суммы запроса. Но тем не менее, это не законно, особенно когда у вас нет разрешения на это.

0

Я думаю, что его время ожидания apache увеличивает время выполнения скрипта. использование ini_set('max_execution_time', 300); в верхней части вашего скрипта это сработало для меня. Приветствия.

Смежные вопросы