因此,当浏览器向服务器发出HTTP请求时,它的形式为一些标题(获取/发布,cookie,主机,用户代理等)。有没有办法可以在PHP脚本中阅读和显示它们?是的,$ _GET,$ _POST和$ _COOKIE都没问题。我正在寻找其余的标题信息。例如http://pgl.yoyo.org/http/browser-headers.php谢谢。
答案 0 :(得分:8)
get_headers()功能正是您所需要的。如引用
get_headers - 获取服务器发送的所有标头作为响应 到HTTP请求
简单示例:
$url = 'http://www.example.com';
print_r(get_headers($url));
输出服务器发送的所有信息:
数组(
[0] => HTTP/1.1 200 OK [1] => Date: Sat, 29 May 2004 12:28:13 GMT [2] => Server: Apache/1.3.27 (Unix) (Red-Hat/Linux) [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT [4] => ETag: "3f80f-1b6-3e1cb03b" [5] => Accept-Ranges: bytes [6] => Content-Length: 438 [7] => Connection: close [8] => Content-Type: text/html )
要接收浏览器发送的信息,可以从$_SERVER
超级全局变量访问它们。例如,以下代码段提供了所有与浏览器相关的信息。
echo $_SERVER['HTTP_USER_AGENT'];
类似地,
REQUEST_METHOD
:提供HTTP请求方法,如GET,HEAD,Put,Post HTTP_HOST
:提供主机信息HTTP_COOKIE
:提供有关Cookie标头的原始信息 [Source] 答案 1 :(得分:5)
我的最爱:http://php.net/manual/en/function.apache-request-headers.php
从当前请求中获取所有HTTP请求标头。
<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>
答案 2 :(得分:2)
您可以使用$_GET['requestName']
,$_POST['requestName']
(或$_REQUEST['requestName']
获取GET或POST)来获取这些内容。
Cookie来自$_COOKIE['varName']
。您可能还想查看$_SESSION[]
。
答案 3 :(得分:0)
是。查看$ _POST,$ _GET和$ _COOKIE超全局。它们是包含标题信息的数组 http://www.tizag.com/phpT/postget.php