wp_get_http_headers() の使い方|説明・引数・注意点

説明

wp_get_http_headers() は、URLにアクセスし、レスポンスヘッダーだけを取得する関数です。

基本構文

wp_get_http_headers( string $url, bool $deprecated = false ): Requests_Utility_CaseInsensitiveDictionary|false

引数

  • $url:URL

戻り値

ヘッダー。取得できなければ false。

使い方(サンプル)

$headers = wp_get_http_headers( 'https://example.com/' );

注意点

  • 現在は wp_remote_head() の使用が推奨されます。

実務での使いどころ

  • URLのヘッダー情報を、取得するとき。

よくあるミスと対処

  • wp_remote_head() に置き換えている。この関数は、内部で宛先を検証する wp_safe_remote_head() を使っている。ユーザー入力のURLで wp_remote_head() に置き換えると、安全性が下がる。
  • 戻り値が、失敗の場合の、確認をしていない。
  • ユーザー入力のURLにも使える(宛先は検証される)。wp_remote_head() は、宛先を検証しない。

NG例

$headers = wp_get_http_headers( $url );
echo $headers['content-type']; // 失敗したときの、確認がない

OK例

$response = wp_remote_head( $url );
if ( ! is_wp_error( $response ) ) {
	$type = wp_remote_retrieve_header( $response, 'content-type' );
}

使い分け早見表

関数 特徴
wp_get_http_headers() URLのヘッダーを取得する(内部で宛先を検証する)
wp_remote_head() ヘッダーだけを取得する(HEAD)
wp_remote_retrieve_headers() 応答から、ヘッダーの一覧を取り出す

関連項目

wp_remote_head()、wp_remote_retrieve_headers()

公式リファレンス:wp_get_http_headers() | Function | WordPress Developer Resources

コメント

タイトルとURLをコピーしました