我只是想知道如何獲得完整的規範請求到一個PHP文件,我只是想回顯它作爲文本或HTML。我怎麼才能得到完整的規範要求在PHP
例如:GET請求file.php輸出以下
輸出:
GET http://path/to/this/file.php HTTP/1.1
User-Agent: example
... other parameters
編輯:我想在圓通完整的字符串
我只是想知道如何獲得完整的規範請求到一個PHP文件,我只是想回顯它作爲文本或HTML。我怎麼才能得到完整的規範要求在PHP
例如:GET請求file.php輸出以下
輸出:
GET http://path/to/this/file.php HTTP/1.1
User-Agent: example
... other parameters
編輯:我想在圓通完整的字符串
這是不可能得到原來的請求字符串,據我所知。但是,來自請求標頭的所有信息都放入$_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";
}
}
可以使用getallheaders()
方法來獲得請求頭的數組。從這裏開始,您可以循環瀏覽它們並根據需要輸出它們。
foreach(getallheaders() as $k => $v) {
echo $k . ': ' . $v . PHP_EOL;
}
更多細節,可以發現:http://php.net/manual/en/function.getallheaders.php
嘗試尋找'$ _SERVER'? – Andrew
'print_r($ _ SERVER)'將顯示關於您可以獲得的請求的所有信息。 – Barmar