Описание функции wp_remote_retrieve_header()
Функция wp_remote_retrieve_header() используется для получения определенного заголовка из ответа HTTP-запроса, выполненного с помощью wp_remote_get(), wp_remote_post() и других функций, работающих с удаленными запросами. Она позволяет извлекать информацию, такую как ‘Content-Type’, ‘Content-Length’ и другие заголовки, которые могут быть полезны для обработки ответа.
Эта функция часто используется в плагинах и темах, когда необходимо анализировать HTTP-ответы от сторонних API или серверов.
Параметры
$header
Тип: string
Обязательный: Да
Описание: Название заголовка, который нужно извлечь из ответа
Возможные значения:
0: Content-Type
1: Content-Length
2: X-Requested-With
$response
Тип: array
Обязательный: Да
Описание: Массив ответа HTTP, полученный с помощью функции wp_remote_get() или аналогичной
Возвращаемое значение
Тип: string|null
Описание: Значение указанного заголовка или null, если заголовок не найден
Возможные значения:
• Строка с значением заголовка
• null если заголовок не существует
Примеры использования
Базовый пример получения заголовка Content-Type из HTTP-ответа
$response = wp_remote_get('https://example.com');
$content_type = wp_remote_retrieve_header($response, 'Content-Type');
echo $content_type;
// Вывод: application/json
Выводит тип контента ответа
Получение заголовка Content-Length и проверка его наличия
$response = wp_remote_get('https://example.com');
$content_length = wp_remote_retrieve_header($response, 'Content-Length');
if ($content_length) {
echo 'Длина контента: ' . $content_length;
} else {
echo 'Заголовок не найден';
}
Обрабатывает случай, когда заголовок отсутствует
Безопасность
Валидация входных данных: Функция ожидает строку и массив, валидируется внутри функции
Санитизация: Не требуется, так как не используются пользовательские данные
Рекомендации: При выводе заголовков используйте esc_html() для предотвращения XSS
— Связанные функции
Выполняет HTTP GET-запрос и возвращает ответ
Выполняет HTTP POST-запрос и возвращает ответ
— Примечания
– Ограничения
Не все заголовки могут быть доступны в ответе
– Частые проблемы
- Ошибка при неправильном формате ответа
- Отсутствие заголовка в ответе