Как использовать функцию WP_REMOTE_RETRIEVE_COOKIE() в WordPress 4.4.0?

WP_REMOTE_RETRIEVE_COOKIE() │ WP 4.4.0

Функция wp_remote_retrieve_cookie() позволяет получить отдельный куки по его имени из ответа сервера.

Использование

Эта функция работает вместе с wp_remote_retrieve_cookies(), чтобы извлечь куки из HTTP-ответа.

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

Функция возвращает объект WP_Http_Cookie или пустую строку, если куки отсутствуют в ответе.

Синтаксис

wp_remote_retrieve_cookie( $response, $name );
  • $response (array|WP_Error) (обязательный) — HTTP-ответ.
  • $name (string) (обязательный) — имя куки, которую необходимо получить.

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

Получение данных отдельного куки

Предположим, мы отправили запрос и получили два куки: mycookie и mycook. Теперь нам нужно извлечь данные куки mycookie. Данные куки включают не только его значение, но и другую информацию, которая представлена как объект WP_Http_Cookie.

В качестве примера используем сервис httpbin.org, который позволяет устанавливать куки в ответе от сервера.

$url = 'https://httpbin.org/cookies/set?mycookie=value1&mycook=value2';

// Отправляем запрос
$response = wp_remote_get( $url );

// Извлекаем куки
$mycookie = wp_remote_retrieve_cookie( $response, 'mycookie');

// Печатаем данные куки
print_r( $mycookie );

Результат работы:

WP_Http_Cookie Object
(
    [name] => mycookie
    [value] => value1
    [expires] => 
    [path] => /
    [domain] => httpbin.org
)

Код функции

Вот как выглядит реализация wp_remote_retrieve_cookie():


function wp_remote_retrieve_cookie( $response, $name ) {
$cookies = wp_remote_retrieve_cookies( $response );

if ( empty( $cookies ) ) {
    return '';
}

foreach ( $cookies as $cookie ) {
    if ( $cookie->name === $name ) {
        return $cookie;
    }
}

return '';

}

Примечания

  • Функция позволяет легко работать с куками, что полезно для разработчиков, создающих плагин или тему для WordPress.
  • Убедитесь, что вы правильно обрабатываете возможные ошибки (например, ко��да куки отсутствуют).

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

Вот некоторые функции, которые могут быть полезны при работе с HTTP API в WordPress:

  • status_header()
  • wp_get_http_headers()
  • wp_http_validate_url()
  • wp_remote_get()
  • wp_remote_head()
  • wp_remote_post()
  • wp_remote_request()
  • wp_remote_retrieve_body()
  • wp_remote_retrieve_cookie_value()
  • wp_remote_retrieve_cookies()
  • wp_remote_retrieve_header()
  • wp_remote_retrieve_headers()
  • wp_remote_retrieve_response_code()
  • wp_remote_retrieve_response_message()
  • wp_safe_remote_request()

Эти функции помогут вам эффективно использовать HTTP-протокол при работе с WordPress.

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *