如何在php中获取完整的规范请求

时间:2016-01-08 20:34:44

标签: php http request

我只是想知道如何获取对php文件的完整规范请求,我只想将其作为文本或html回显。

例如:对file.php的get请求输出以下内容

输出:

user = User.find(poster_id) # notice not @poster_id
user.update(lifetime: user.lifetime - 1)

编辑:我想要完整的字符串

2 个答案:

答案 0 :(得分:0)

据我所知,无法获取原始请求字符串。但是,来自请求标头的所有信息都将放入$_SERVER关联数组中。每个标题字段Xxx-Yyy对应$_SERVER['HTTP_XXX_YYY'] - 标题名称中的字母将转换为大写,连字符将替换为下划线。所以你可以这样做:

echo $_SERVER['REQUEST_METHOD'] . ' ' . $_SERVER['REQUEST_URI'] . ' ' . $_SERVER['SERVER_PROTOCOL'] "\n";
foreach ($_SERVER AS $key => $value) {
    if (substr($key, 0, 5) == 'HTTP_') {
        echo str_replace('_', '-', substr($key, 5)) . ': ' . $value . "\n";
    }
}

答案 1 :(得分:0)

您可以使用getallheaders()方法获取请求标头的数组。从这里你可以循环它们并根据需要输出它们。

foreach(getallheaders() as $k => $v) {
  echo $k . ': ' . $v . PHP_EOL;  
}

更多详细信息,请访问:http://php.net/manual/en/function.getallheaders.php