CURL получаем код ответа сервера
Вкратце о сути проблемы: HTTP статус код, по буржуйски “response code,” специальное число в котором сервер сообщает нам о результате выполнения HTTP запроса. Твой браузер обрабатывает этот код при каждом запросе, и cURL делает тоже самое. Вот наиболее ходовые коды:
- 200 OK
Стандартный ответ на успешный HTTP запрос. - 301 Moved Permanently
ответ перенаправляет браузер на другой URI. - 400 Bad Request
Не правильно построенный запрос. - 401 Unauthorized
Тут нам сообщают что мы не прошли аутентификацию, в основном используется заголовок в запросе кодированный функцией base64_encode(); - 403 Forbidden см. выше.
- 404 Not Found
. Не найден файл - 500 Internal Server Error
сервер глюканул
При написании одного моего скрипта мне понадобилось обработать ответ сервера, не получая самого файла по протоколу HTTP, погуглил я по этому вопросу, рассмотрел много вариантов, одни предлагали получить заголовок от сервера, потом его распарсить, были еще более извращенные варианты.
Я приведу самый удачный на мой взгляд вариант:
// иницализируем курл $http = curl_init($url); // отправляем запрос $result = curl_exec($http); $http_status = curl_getinfo($http, CURLINFO_HTTP_CODE);// Получаем ответ echo $http_status;// выводим ответ
curl_getinfo() данная функция выводит информацию о последнем запросе curl
curl_getinfo(). мы передали в функцию предопределенную константу CURLINFO_HTTP_CODE для того чтобы получить код ответа.
Все!
Мой блог находят по следующим фразам