函数文档

wp_get_http_headers()

💡 云策文档标注

概述

wp_get_http_headers() 函数用于从指定 URL 检索 HTTP 头信息。它通过调用 wp_safe_remote_head() 发送 HEAD 请求,并返回一个 WpOrgRequestsUtilityCaseInsensitiveDictionary 对象或 false。

关键要点

  • 参数:$url(必需,字符串类型,指定要检索头的 URL)和 $deprecated(可选,布尔类型,已弃用,默认 false)。
  • 返回值:成功时返回 WpOrgRequestsUtilityCaseInsensitiveDictionary 对象,失败时返回 false。
  • 内部实现:使用 wp_safe_remote_head() 发送安全请求,并通过 wp_remote_retrieve_headers() 提取头信息。
  • 相关函数:包括 wp_safe_remote_head()、wp_remote_retrieve_headers()、_deprecated_argument() 和 is_wp_error()。
  • 使用场景:例如在 do_enclose() 函数中用于检查内容中的链接。

代码示例

$response = wp_get_http_headers( 'https://wordpress.org' );
print_r( $response->getAll() );
print_r($response->offsetGet('server'));

注意事项

  • $deprecated 参数已弃用,从版本 2.7.0 起不再使用,调用时传入任何值都会触发 _deprecated_argument() 警告。
  • 返回的 WpOrgRequestsUtilityCaseInsensitiveDictionary 对象提供方法如 getAll() 和 offsetGet() 来访问头数据。
  • 函数在失败时返回 false,建议使用 is_wp_error() 检查错误。

📄 原文内容

Retrieves HTTP Headers from URL.

Parameters

$urlstringrequired
URL to retrieve HTTP headers from.
$deprecatedbooloptional
Not Used.

Default:false

Return

WpOrgRequestsUtilityCaseInsensitiveDictionary|false Headers on success, false on failure.

Source

function wp_get_http_headers( $url, $deprecated = false ) {
	if ( ! empty( $deprecated ) ) {
		_deprecated_argument( __FUNCTION__, '2.7.0' );
	}

	$response = wp_safe_remote_head( $url );

	if ( is_wp_error( $response ) ) {
		return false;
	}

	return wp_remote_retrieve_headers( $response );
}

Changelog

Version Description
1.5.1 Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Use the returned class’ (WpOrgRequestsUtilityCaseInsensitiveDictionary) methods to get usable data:

    $response = wp_get_http_headers( 'https://wordpress.org' );
    print_r( $response->getAll() );

    Array
    (
    [server] => nginx
    [date] => Sat, 09 Sep 2023 04:27:52 GMT
    [content-type] => text/html; charset=UTF-8
    [vary] => Accept-Encoding
    [strict-transport-security] => max-age=3600
    [x-olaf] => ⛄[link] => Array
    (
    [0] => ; rel=”https://api.w.org/”
    [1] => ; rel=”alternate”; type=”application/json”
    [2] => ; rel=shortlink
    )

    [x-frame-options] => SAMEORIGIN
    [content-encoding] => gzip
    [x-nc] => EXPIRED ord 1
    )

    print_r($response->offsetGet('server'));

    nginx