wp_remote_retrieve_response_code()

Возвращает код ответа сервера. Или пустую строку, если в процессе запроса к серверу возникла ошибка.

Функция является частью WordPress HTTP API, про него у меня есть отдельный урок.

wp_remote_retrieve_response_code( $response )

Параметры

$response
(массив|WP_Error) Ответ, полученный в результате запроса к серверу функциями wp_remote_get(), wp_remote_post(), wp_remote_head() или wp_remote_request().

Примеры

Выполняем запрос к серверу и, в случае успеха, делаем что-либо:

$response = wp_remote_get( $url );
 
if( 200 === wp_remote_retrieve_response_code( $response ) ) {
	// делаем что-либо
}

Так как функция возвращает пустую строку в случае возникновения ошибки, то нам не обязательно добавлять проверку с функцией is_wp_error(). Другое дело, если вы пытаетесь получить код ответа напрямую:

$response = wp_remote_get( $url );
 
if( ! is_wp_error( $response ) && isset( $response[ 'response' ][ 'code' ] ) && 200 === $response[ 'response' ][ 'code' ] ) {
	// делаем что-либо
}

Согласитесь, что первый вариант намного приятнее.

Возможные коды ответа

Ниже перечислены коды ответа, которые можно получить при запросе к серверу.

1xx – Информационные

Код ответаСообщение
100Continue
101Switching Protocols
102Processing
105Name Not Resolved

2xx – Успех

Код ответаСообщение
200OK
201Created
202Accepted
203Non-Authoritative Information
204No Content
205Reset Content
206Partial Content
207Multi-Status
226IM Used

3xx – Редиректы

Код ответаСообщение
300Multiple Choices
301Moved Permanently
302Moved Temporarily
302Found
303See Other
304Not Modified
305Use Proxy
306Reserved
307Temporary Redirect

4xx – Ошибки клиента

Код ответаСообщение
400Bad Request
401Unauthorized
402Payment Required
403Forbidden
404Not Found
405Method Not Allowed
406Not Acceptable
407Proxy Authentication Required
408Request Timeout
409Conflict
410Gone
411Length Required
412Precondition Failed
413Request Entity Too Large
414Request-URI Too Large
415Unsupported Media Type
416Requested Range Not Satisfiable
417Expectation Failed
418I’m a teapot
422Unprocessable Entity
423Locked
424Failed Dependency
425Unordered Collection
426Upgrade Required
428Precondition Required
429Too Many Requests
431Request Header Fields Too Large
434Requested host unavailable
449Retry With
451Unavailable For Legal Reasons
456Unrecoverable Error
499Client Closed Request

5xx – Ошибки сервера

Код ответаСообщение
500Internal Server Error
501Not Implemented
502Bad Gateway
503Service Unavailable
504Gateway Timeout
505HTTP Version Not Supported
506Variant Also Negotiates
507Insufficient Storage
508Loop Detected
509Bandwidth Limit Exceeded
510Not Extended
511Network Authentication Required

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.