Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ошибка выполнения get_headers


Автор: andryus 6.3.2011, 21:23
Пытаюсь выполнить следующий код

Код

get_headers(http://www.vyatkacompany.ru/)


Поскольку сайт не активен, то выдает ошибку 

Код

get_headers(http://www.vyatkacompany.ru/) [function.get-headers]: failed to open stream: php_network_getaddresses: getaddrinfo failed


Как избавится от подобной ошибки если сайт не активен?

Автор: andryus 6.3.2011, 22:01
И еще попутный вопрос. Как ограничить по времени выполнение данной функции, т.е. если сайт не доступен то данная функция пытается продолжительное время получить информацию (т.е. подвисает выполнение), а как ограничить, т.е. если через секунд 20 нет доступа то ничего не получаем, т.е. функция не выполняется

Автор: Ant0ha 6.3.2011, 22:15
Код

$headers = get_headers_curl('http://www.vyatkacompany.ru/');
print_r($headers);

$headers = get_headers_curl('http://vingrad.ru/');
print_r($headers);

function get_headers_curl($url)
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL,            $url);
    curl_setopt($ch, CURLOPT_HEADER,         true);
    curl_setopt($ch, CURLOPT_NOBODY,         true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_TIMEOUT,        20);

    $r = curl_exec($ch);
    $r = split("\n", $r);
    return $r;
} 

Автор: MoLeX 7.3.2011, 17:03
andryus, а если попробовать поймать ошибку через try

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)