如何从Laravel 5中的HTTP响应中获取自定义标头?

时间:2016-12-13 10:01:21

标签: php laravel http angular laravel-5

我正在尝试从Laravel中的Request访问自定义标头。标题名称为“access_from”。列出Laravel中的所有标题,只给出了“标准的”标题,但是我设置的标题不在列表中。签入浏览器网络选项卡,我可以看到标题已发送。所以我想知道如何从Laravel中访问它。

我正在使用Angular2使用默认的http服务发出请求。

Laravel的$ response-> header()转储:

enter image description here

网络检查员的日志:

enter image description here 感谢任何人!

3 个答案:

答案 0 :(得分:4)

你在谈论获取参数还是什么?如果是这样,请使用:

request()->accessing_from;

对于标题,您应该使用:

request()->header('accessing_from');

这方面的工作解决方案是daver的答案(最后一个): Laravel get request header

答案 1 :(得分:0)

你试过简单的PHP吗?

<?php
// Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE
$headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX'];

完整答案: https://stackoverflow.com/a/541463/3548658

文档说: https://laravel.com/api/5.3/Illuminate/Http/Request.html#method_header

use Request;
Request::header('accessing_from');

答案 2 :(得分:0)

在Laravel 5.8中获取自定义标头。

这也应适用于早期版本。

如果使用诸如X-Requested-With: XMLHttpRequest之类的标头,您可能会注意到它将其转换为HTTP_X_REQUESTED_WITH

这反过来被转换为header()方法的小写版本。

request()->header('x_requested_with');

我建议使用Accessing-From: admin,它将添加apache标头HTTP_ACCESSING_FROM。这样,您就可以通过标头函数访问它了……

request()->header('accessing_from');