Изучение различных методов получения кодов ответов HTTP-заголовка с использованием PHP cURL

При работе с PHP и cURL часто необходимо получить коды ответов HTTP-заголовка с удаленного сервера. В этой статье мы рассмотрим несколько методов выполнения этой задачи с использованием PHP cURL, попутно предоставляя разговорные объяснения и примеры кода.

Метод 1: базовый запрос cURL
Самый простой способ получить код ответа HTTP-заголовка – создать базовый запрос cURL и извлечь код ответа из заголовков.

$url = 'https://example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_NOBODY, true);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "HTTP response code: " . $httpCode;

Метод 2: использование CURLOPT_HEADERFUNCTION
Другой подход — использовать параметр CURLOPT_HEADERFUNCTION, который позволяет определить функцию обратного вызова для обработки заголовков ответов. В функции обратного вызова вы можете извлечь код ответа.

$headers = [];
$httpCode = null;
$url = 'https://example.com';
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($ch, $header) use (&$headers) {
    $headers[] = $header;
    return strlen($header);
});
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo "HTTP response code: " . $httpCode;

Метод 3: использование функции get_headers()
PHP предоставляет функцию get_headers()для получения заголовков ответа. Мы можем использовать эту функцию для получения кода ответа HTTP.

$url = 'https://example.com';
$headers = get_headers($url);
$httpCode = substr($headers[0], 9, 3);
echo "HTTP response code: " . $httpCode;

В этой статье мы рассмотрели различные методы получения кодов ответов HTTP-заголовка с помощью PHP cURL. Мы рассмотрели основные запросы cURL, используя CURLOPT_HEADERFUNCTION и функцию get_headers(). Эти методы обеспечивают гибкость и позволяют выбрать подход, соответствующий вашим конкретным требованиям.

Поняв, как получать коды ответов HTTP-заголовка, вы сможете улучшить свои PHP-приложения cURL и эффективно обрабатывать ответы сервера.

Не забывайте правильно обрабатывать исключения и ошибки в своем коде, чтобы обеспечить надежность и безошибочное выполнение.

Не стесняйтесь экспериментировать с этими методами и выбирайте тот, который лучше всего соответствует вашим потребностям в ваших проектах PHP cURL.