PHP - Laravel - リクエスト - ヘッダ

クラウディア 
1. 概要
2. 取得
3. 例

1. 概要

 前のページで、既に「$request->headers->get('referer')」について書いちゃいましたが・・・。  そもそも、「$request->headers」で、ヘッダ情報を得ることができます。  本ページは、下記のサイトを参考にさせていただきました。
Laravelでリクエストヘッダー情報(リファラ, UserAgent)を取得する方法

2. 取得


$request->headers->get('項目名');
 で対応する情報を得ることができます。  前ページに、「$_SERVER['HTTP_REFERER']」あたりだと、「!empty()」なり「isset()」なりで、「if」をかまさないとまずいが「$request->headers」だと空白が返るので、少なくともこける心配がないので便利。  と書きましたが。  「$_SERVER['項目名']」より「$request->headers->get('項目名')」の方が、いささか長ったらしいのが玉に瑕。

3. 例

 実際に、取得した「$request->headers」の情報を「print_r」で出力します。  表示しているのは、あなたのよこしているリクエストヘッダの情報なので、さらしても、わたしに問題はないのだ。  まぁ、長いのを省略せずに表示するので、末尾にね。

Symfony\Component\HttpFoundation\HeaderBag Object
(
    [headers:protected] => Array
        (
            [accept] => Array
                (
                    [0] => */*
                )

            [user-agent] => Array
                (
                    [0] => Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
                )

            [cookie] => Array
                (
                    [0] => XSRF-TOKEN=eyJpdiI6InZTS3BpakdFcWloRVc2bGRvSkxUZmc9PSIsInZhbHVlIjoiYW1Jb09iczRnNzZEb1BsYlBmWDlXVFpNUTRnRzF5Ti9vVzkrVmt3VWVGb2NSZklwaHVheC9EZGcvYW0vMzhKSC9OV1lJdld3UTlVZHVyMllKdXFHUlZuNHIyTnlzbTY4UGJ0dFVoTU5qdGQ0WDZvNXJNcU9ORmNuanJvVTlINDMiLCJtYWMiOiIxM2JhNzY4NjkzZTE0NTlkYzBjZmVjMDljNjZiNzgxMTI2YTllZTI0NGI4YTIzZjkzM2MzOGVhYWRhNDU2YWIyIiwidGFnIjoiIn0%3D; laravel_session=eyJpdiI6InEvNnMzTm5uK2lKc2krZHc3cXhGRmc9PSIsInZhbHVlIjoiNGFXbTZkZklSZXZScGYzMHFCdXhoNEQ5YnpVb2NuU3E1aXE5ZHRRZjlUbUo3dFVYOE8xSGhhNzVJV0ozcjlZL2NqOGllSHJ3M0tMOWMxaVo4cG5XRDdBNlFkSkFTc1M0YlBwTWdZSXBZWEFZdVB4Nk5tUEViOVhrajEza1JVYUIiLCJtYWMiOiI0NjFmYTljMzNhYzM2OWM3ZTZmNzdjODIwMDhmYmQ3YWQyMGJmOWNjMTQ2MDI0YjY0OTYzNzc2ZGZlMzg5NjMyIiwidGFnIjoiIn0%3D
                )

            [accept-encoding] => Array
                (
                    [0] => gzip, br, zstd, deflate
                )

            [host] => Array
                (
                    [0] => freebsd.sing.ne.jp
                )

            [via] => Array
                (
                    [0] => 1.1 squid-proxy-5b5d847c96-6fw9d (squid/6.10)
                )

            [x-forwarded-for] => Array
                (
                    [0] => 10.1.39.248
                )

            [cache-control] => Array
                (
                    [0] => max-age=259200
                )

            [connection] => Array
                (
                    [0] => keep-alive
                )

        )

    [cacheControl:protected] => Array
        (
            [max-age] => 259200
        )

)
earthcar(アースカー)