Как проверить доступность сайта (ping) с помощью curl на языке php?
3
Добрый день.
64 урок, 4 задание
Задание: Познакомьтесь с библиотекой CURL и напишите скрипт, который будет проверять доступность сайтов.
Потратил несколько часов на изучение этой CURL, но так и не понял, как сделать. Подскажите, кто знает.
2 ответов
4
Здравствуйте, Александр
Задание CURL в PHP (базовая часть, без помещения в массив хостов для проверки) может быть таким:
<?php
function pingCheck($url) {
$agent = "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0";
// Инициализация CURL
$ch = curl_init();
// Установка URL
curl_setopt($ch, CURLOPT_URL, $url);
// Указываю USERAGENT браузера
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
// Header
curl_setopt($ch, CURLOPT_NOBODY, true);
// Редирект
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// Возврат строки
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// Отключение из вывода отладочной информации
curl_setopt($ch, CURLOPT_VERBOSE, false);
// Устанавливаю максимальное количество секунд работы
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
// Выполнение
curl_exec($ch);
// Получаю код HTTP ответа
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// Если ответ от сервера > 200 - тогда сайт доступен
if ($httpcode >= 200 && $httpcode < 300)
return true;
else
return false;
}
if (pingCheck("https://fructcode.com"))
echo "Сайт работает нормально";
else
echo "Сайт упал";
exit;
3
Спасибо.