获取PHP自定义响应标头

时间:2015-04-02 11:42:23

标签: php http-headers

我发送一个带有自定义标头的ajax请求,名为Authorization, 而我正试图用PHP获取该标题

if (!function_exists('getallheaders')) 
    { 
        function getallheaders() 
        { 
               $headers = array();
                foreach ($_SERVER as $k => $v)
                {
                if (substr($k, 0, 5) == "HTTP_")
                {
                $k = str_replace('_', ' ', substr($k, 5));
                $k = str_replace(' ', '-', ucwords(strtolower($k)));
                $headers[$k] = $v;
                }
                }
                return $headers;

        } 
    }
    $val = getallheaders();
    echo $val;

我获得所有标题但不是自定义标题

val: Object{
  Accept: "application/json, text/plain, */*"
  Accept-Encoding: "gzip, deflate, sdch"
  Accept-Language: "es-ES,es;q=0.8,en;q=0.6"
  Connection: "keep-alive"
  Host: "www.localhost.com"
  Origin: "http://localhost"
  Referer: "http://localhost/gestion/"
  User-Agent: "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,           like Gecko) Chrome/41.0.2272.101 Safari/537.36"
}

enter image description here

为什么我没有获得标题授权的任何线索?

1 个答案:

答案 0 :(得分:0)

对于自定义标头,php文档中的$_SERVER全局表示

  

无法保证每个Web服务器都能提供这些服务;服务器可以省略一些,或提供此处未列出的其他服务器。也就是说,在»CGI / 1.1规范中考虑了大量这些变量,所以你应该能够期待那些

因此,如果您使用apache_request_headers作为服务器

,请尝试使用apache

Server Quote

apache_request_headers