Использование Curl и PHP - PullRequest
       3

Использование Curl и PHP

1 голос
/ 14 марта 2012

Я использую PHP, чтобы получить список URL-адресов из базы данных.Каждый URL проверяется функцией Check_URL в php, которая использует curl для проверки работоспособности веб-сайта.

function Check_URL($url) {

    $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt ($ch, CURLOPT_USERAGENT, $agent);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_TIMEOUT, 3);
    $page = curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    curl_close($ch);
    if ($httpcode >= 200 && $httpcode <= 301) {
         return true;
    } else { 
        return false;
    }
}

К сожалению, страница загружается вечно.Я прочитал curl_multi_init ();может быть моим решением, но я не уверен, как я могу реализовать его в том, что у меня есть.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 27 марта 2012

Используйте также опцию CURLOPT_CONNECTTIMEOUT.

Ваша функция может работать быстрее, если вы установите для CURLOPT_NOBODY значение TRUE.

Посмотрите этот код , если вы хотите проверить несколько URL.

0 голосов
/ 14 марта 2012

После того, как вы инициализируете curl_multi_init, вам нужно перебрать ваши URL в цикле for или foreach.Вы найдете хороший пример здесь: http://www.fusionswift.com/examples/2011/08/php-curl_multi_exec-example/

Для вашей функции я бы использовал массив URL в качестве параметра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...