wp_remote_retrieve_cookies()WP 4.4.0

Получает все данные всех куков из переданного ответа на запрос.

Основа для: wp_remote_retrieve_cookie()

Хуков нет.

Возвращает

WP_Http_Cookie[]. Массив объектов WP_Http_Cookie. Пустой массив, если куков нет или ответ содержит ошибку WP_Error.

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

wp_remote_retrieve_cookies( $response );
$response(массив) (обязательный)
Ответ на запрос полученный одной из функций: wp_remote_*()

Примеры

0

#1 Получим данные всех куков

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

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

$url = 'https://httpbin.org/cookies/set';

// дополним запрос, чтобы в ответе нам вернулись куки
$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 Введена.

Код wp_remote_retrieve_cookies() WP 6.4.3

function wp_remote_retrieve_cookies( $response ) {
	if ( is_wp_error( $response ) || empty( $response['cookies'] ) ) {
		return array();
	}

	return $response['cookies'];
}