説明
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

コメント