wp_remote_retrieve_headers( array|WP_Error $response ): WpOrgRequestsUtilityCaseInsensitiveDictionary|array

Retrieve only the headers from the raw response.

Description

See also

Parameters

$responsearray|WP_Errorrequired
HTTP response.

Return

WpOrgRequestsUtilityCaseInsensitiveDictionary|array The headers of the response, or empty array if incorrect parameter given.

Source

function wp_remote_retrieve_headers( $response ) {
	if ( is_wp_error( $response ) || ! isset( $response['headers'] ) ) {
		return array();
	}

	return $response['headers'];
}

Changelog

VersionDescription
4.6.0Return value changed from an array to an WpOrgRequestsUtilityCaseInsensitiveDictionary instance.
2.7.0Introduced.

User Contributed Notes

  1. Skip to note 2 content

    The returned value of wp_remote_retrieve_headers($response) will be something like this…

    Requests_Utility_CaseInsensitiveDictionary::__set_state(array(
       'data' => 
      array (
        'server' => 'nginx/1.10.3 (Ubuntu)',
        'date' => 'Wed, 09 Jan 2019 07:25:38 GMT',
        'content-type' => 'application/octet-stream',
        'content-length' => '1438086',
        'last-modified' => 'Tue, 01 May 2018 04:56:08 GMT',
        'etag' => '"5ae7f368-15f186"',
        'accept-ranges' => 'bytes',
      ),
    ))

    To access only one value:

    $headerResult = wp_remote_retrieve_headers($response);
    $headerResult['content-length'];

    You can just type in the array key.

    To get the whole array:

    $headerResult = wp_remote_retrieve_headers($response);
    $headerResultForPrint = (array)$headerResult;
    print_r($headerResultForPrint);

    You have to use type cast (array).

You must log in before being able to contribute a note or feedback.