# WP_REMOTE_RETRIEVE_COOKIES() │ WP 4.4.0
Функция wp_remote_retrieve_cookies() позволяет извлечь файлы cookie из ответа сервера. Эта информация может быть полезна для работы с удалёнными запросами в WordPress.
## Что возвращает функция
Функция вернет массив объектов WP_Http_Cookie, полученных в ответе на запрос. Если файлов cookie нет, или произошла ошибка (например, если ответ - это ошибка WP_Error), будет возвращён пустой массив.
### Возвращаемое значение
- WP_Http_Cookie[] – массив объектов файлов cookie.
- Пустой массив, если cookie отсутствуют или произошла ошибка.
## Как использовать
Функция используется следующим образом:
```php
$response = wp_remote_retrieve_cookies( $response );
$response(array|WP_Error) – обязательный параметр, который представляет ответ HTTP.
Примеры использования
Пример 1: Получение всех удалённых файлов cookie
Допустим, мы отправляем запрос, и в ответе содержатся файлы cookie. Мы можем получить всю информацию о файлах cookie в этом ответе.
Для демонстрации мы будем использовать сервис httpbin.org, который позволяет устанавливать cookies в ответе от сервера.
$url = 'https://httpbin.org/cookies/set';
// добавим запрос, чтобы вернуть cookie в ответе
$url .= '?mycookie=value1&mycook=value2';
$response = wp_remote_get( $url );
print_r( wp_remote_retrieve_cookies($response) );
После выполнения этого кода мы получим следующий вывод:
Array
(
[0] => WP_Http_Cookie Object
(
[name] => mycookie
[value] => value1
[expires] =>
[path] => /
[domain] => httpbin.org
)
[1] => WP_Http_Cookie Object
(
[name] => mycook
[value] => value2
[expires] =>
[path] => /
[domain] => httpbin.org
)
)
История изменений
- С версии 4.4.0 – функция была введена в WordPress.
Как работает функция
Вот упрощённый код функции:
function wp_remote_retrieve_cookies( $response ) {
if ( is_wp_error( $response ) || empty( $response['cookies'] ) ) {
return array();
}
return $response['cookies'];
}
Эта функция проверяет, есть ли ошибка в ответе или если массив cookies пуст. Если да, то она возвращает пустой массив. Если ошибок нет, возвращает массив файлов cookie.
Связанные функции
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()wp_remote_retrieve_cookie_value()wp_remote_retrieve_header()wp_remote_retrieve_headers()wp_remote_retrieve_response_code()wp_remote_retrieve_response_message()wp_safe_remote_request()