wp_remote_retrieve_response_message() WP 2.7.0

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

Хуків немає.

Повертає

Строку. Повідомлення відповіді або порожній рядок, якщо передано неправильний об’єкт відповіді.

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

wp_remote_retrieve_response_message( $response );
$response
(масив) (обов’язковий)
Об’єкт відповіді, отриманий за допомогою однієї з функцій:
wp_remote_get() ,
wp_remote_post() ,
wp_remote_head() або
wp_remote_request() .

Приклади

0

#1 Демонстрація роботи функції

$res = wp_remote_get('http://wp-kama.ru');
echo wp_remote_retrieve_response_message( $res ); //> OK

$res = wp_remote_get('http://wp-kama.ru/error404');
echo wp_remote_retrieve_response_message( $res ); //> Not Found
0

#2 Отримаємо інформацію про фільм з Кінопошуку

Цей приклад показує, як отримати інформацію про фільм із сайту Kinopoisk та перевірити запит на помилки:

/**
 * Отримаємо інформацію про фільм із сайту Kinopoisk
 * Працює на базі сервісу http://docs.kinopoiskapi.apiary.io/.
 *
 * @param int $id ID фільму на сайті
 * @return string|WP_Error Отримує тіло відповіді, у разі успіху та об'єкт WP_Error при невдачі
 */
function kinopoisk_get_movie( $id ) {

	// Параметри GET запиту
	$params = array(
		'filmID' => absint( $id ),
	);

	// Створимо URL з параметрами
	$url = 'http://api.kinopoisk.cf/getFilm';
	$url = add_query_arg( $params, esc_url_raw($url) );

	// Запит
	$ Response = wp_remote_get ($ Url);

	// Перевіряємо код відповіді
	$response_code = wp_remote_retrieve_response_code($response);
	$response_message = wp_remote_retrieve_response_message( $response );
	$response_body = json_decode(wp_remote_retrieve_body( $response ));

	if ( 200 != $response_code && ! empty( $response_message ) )
		return new WP_Error( $response_code, $response_message );

	elseif ( 200 != $response_code )
		return new WP_Error( $response_code, 'Невідома помилка');

	elseif(! $response_body)
		return new WP_Error( 'nodata', 'Немає даних про фільм або такого фільму немає в базі' );

	else
		return $response_body;
}

// Запит
$res = kinopoisk_get_movie(714888);

// Виводимо помилку чи інформацію
if ( is_wp_error( $res ) ) {
	echo 'Помилка запиту на IMDB: '. wp_strip_all_tags( $res->get_error_message() );
}
else {
	echo 'Фільм: "' . esc_html( $res->nameRU ) .'" ('. (int) $res->year .' рік). Рейтинг: '. $res->ratingData->rating;
}

// у результаті отримаємо:
// Фільм: "Зоряні війни: Пробудження сили" (2015). Рейтинг: 7.3

список змін

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

Код wp_remote_retrieve_response_message() WP 6.0.2

function wp_remote_retrieve_response_message( $response ) {
	if ( is_wp_error( $response ) || ! isset( $response['response'] ) || ! is_array( $response['response'] ) ) {
		return '';
	}

	return $response['response']['message'];
}

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

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