wp_remote_get()

19 февраля, 2025
Отправка HTTP GET-запросов к удаленным серверам с помощью функции wp_remote_get(): параметры, примеры, безопасность
Быстрая навигация по записи

Описание функции wp_remote_get()

Функция wp_remote_get() отправляет HTTP GET-запрос к указанному URL и возвращает ответ. Она используется для взаимодействия с удаленными API или получения данных с других веб-сайтов. Функция поддерживает возможность настройки заголовков, таймаутов и других параметров запроса.

Функция полезна при интеграции с внешними сервисами или получения контента с удаленных источников.

Параметры

$url

Тип: string

Обязательный: Да

Описание: URL-адрес, к которому будет отправлен запрос

Возможные значения:

$args

Тип: array

Обязательный: Нет

По умолчанию: array()

Описание: Массив дополнительных аргументов для настройки запроса

Возможные значения:

timeout: Время ожидания ответа в секундах (по умолчанию 5)

headers: Массив заголовков для запроса

body: Тело запроса (для POST-запросов)

sslverify: Проверка SSL-сертификата (true/false)

blocking: Блокирующий запрос (true/false)

Возвращаемое значение

Тип: array|WP_Error

Описание: Массив с результатами запроса или объект WP_Error в случае ошибки

Возможные значения:

• Массив с ответом, включая заголовки и тело

• WP_Error в случае ошибки запроса

Примеры использования

Отправка простого GET-запроса и обработка ответа

				
					$response = wp_remote_get('https://api.example.com/data');
if (is_wp_error($response)) {
    echo 'Ошибка: ' . $response->get_error_message();
} else {
    $body = wp_remote_retrieve_body($response);
    echo $body;
}
				
			

Вывод результата или сообщения об ошибке

Отправка GET-запроса с заголовками и таймаутом

				
					$response = wp_remote_get('https://api.example.com/data', array(
    'timeout' => 10,
    'headers' => array(
        'Authorization' => 'Bearer YOUR_TOKEN'
    )
));
				
			

Заголовок для авторизации API

Логирование ошибок запроса

				
					$response = wp_remote_get('https://api.example.com/data');
if (is_wp_error($response)) {
    // Логирование ошибки
some_error_logging_function($response);
}
				
			

Используйте свою функцию логирования

Безопасность

Валидация входных данных: Функция проверяет корректность URL и других параметров

Санитизация: URL очищается перед отправкой запроса

Рекомендации: Избегайте использования пользовательских URL, всегда проверяйте их на корректность

— Связанные функции

Отправка HTTP POST-запросов

Общая функция для отправки HTTP-запросов

— Хуки

Фильтрует запрос перед отправкой

Фильтрует ответ после получения

— Примечания

– Ограничения

Некоторые серверы могут блокировать запросы с определенными User-Agent

– Частые проблемы

  • Ошибка при недоступности сервера
  • Неправильный формат URL

Оставить комментарий

Нужна помощь с WordPress WooCommerce плагинами темой оптимизацией ?

Упрощаем сложное, создаем впечатляющее!
100% без риска
Нет обязательств по найму
Бесплатная оценка
5900 ₽
Автомобильный каталог
Шаблон авто сайта на русском языке, преображающий онлайн-сервисы для автодилеров и профессионалов автобизнеса. Стильный и интуитивно понятный дизайн обеспечивает быстрый поиск автомобиля мечты

Поможем вывести Ваш бизнес на новый уровень!

Проснувшись однажды утром после беспокойного сна, Грегор Замза обнаружил

Добро пожаловать!

Авторизуйтесь, чтобы продолжить

или

Забыли пароль? Восстановить

* Если аккунта у Вас еще нет, то он будет создан автоматически

Давайте составим техническое задание!
100% без риска
Нет обязательств по найму
Бесплатная оценка стоимости
Здравствуйте! Я асистент на основе искусственного интеллекта. Вы можете общаться со мной, как с человеком — задавайте вопросы, описывайте свои идеи и требования.

С удовольствием помогу вам составить техническое задание для вашего WordPress проекта. Если Вам нужна техническая поддержка по купленному у нас плагину или шаблону, то создайте тикет в личном кабинете.

Выберите подходящий вариант или опишите свою задачу в свободной форме, и я помогу вам составить четкий план действий, для оценки стоимости нашими разработчиками! 😊