【问题标题】:get PHP custom response headers获取 PHP 自定义响应标头
【发布时间】:2015-04-02 11:42:23
【问题描述】:

我正在发送一个带有名为 Authorization 的自定义标头的 ajax 请求, 我正在尝试使用 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"
}

我没有获得标头授权的任何线索?

【问题讨论】:

标签: php http-headers


【解决方案1】:

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

无法保证每台网络服务器都会提供其中任何一项;服务器可能会省略一些,或提供此处未列出的其他内容。也就是说,在 » CGI/1.1 规范中说明了大量这些变量,因此您应该能够预料到这些

所以尝试使用apache_request_headers,如果您使用apache 作为服务器,这可能会对您有所帮助

Server Quote

apache_request_headers

【讨论】:

  • 问题是 apache_request_headers 和 getallheaders 不可用 @AboElzooz
猜你喜欢
  • 1970-01-01
  • 2016-05-27
  • 2013-08-27
  • 1970-01-01
  • 1970-01-01
  • 2017-02-26
  • 2015-10-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多