获取Appengine GAE PHP的标题

时间:2015-09-13 23:30:31

标签: php google-app-engine

我发现常见的PHP函数getallheaders()在GAE上不可用。如何访问客户端设置的自定义标头?例如,AJAX帖子包含标题"RestAuth: pk_1234123"

2 个答案:

答案 0 :(得分:2)

getallheaders()apache extension

您可以从$_SERVER超全局检索标头。所有请求标头都是大写的,标题名称前缀为' HTTP _'。

在你的情况下,标题' RestAuth'将以$_SERVER['HTTP_RESTAUTH']的形式提供。

答案 1 :(得分:1)

从@Tom

引用的手册页跟进@Stuart..straight
if (!function_exists('getallheaders')) 
{ 
    function getallheaders() 
    { 
           $headers = ''; 
       foreach ($_SERVER as $name => $value) 
       { 
           if (substr($name, 0, 5) == 'HTTP_') 
           { 
               $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value; 
           } 
       } 
       return $headers; 
    } 
} 

所以基本上从您的客户端发布RestAuth,在服务器上发送HTTP_RESTAUTH,上面的函数最终会返回Restauth。如果您不同,请使用ucwords()。