wp_remote_retrieve_cookie() WP 4.4.0

Отримує дані окремої вказаної куки з надісланої відповіді на запит.

Працює на основі:
wp_remote_retrieve_cookies()
Основа для:
wp_remote_retrieve_cookie_value()

Хуків немає.

Повертає

WP_Http_Cookie|Строку. Об’єкт WP_Http_Cookie. Порожній рядок, якщо зазначеної куки немає у відповіді запит.

Використання

wp_remote_retrieve_cookie( $response, $name );
$response
(масив) (обов’язковий)
Відповідь на запит, отриманий однією з функцій:
wp_remote_*()
$name
(рядок) (обов’язковий)
Назву куки, дані (об’єкт) якої потрібно отримати.

Приклади

0

#1 Отримаємо дані окремої куки

Припустимо, ми надіслали запит і у відповіді отримали 2 куки: mycookie та mycook . Тепер нам потрібно отримати дані однієї куки mycookie . Під даними мається на увазі не значення cookie, а всі дані cookie, які представлені у вигляді об’єкта 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
)
*/

список змін

З версії 4.4.0Введено.

Код wp_remote_retrieve_cookie() WP 6.0.2

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 '';
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *