php代码,如何利用getallheaders函数获得请求头信息?
发布于 作者:苏南大叔 来源:程序如此灵动~
本文描述使用php如何获得请求头信息,对于客户端来说,就是如何在服务器端获得请求的头信息。

这里是苏南大叔的网络自留地,高兴写啥就写点啥。本文描述一下php函数getallheaders(),这个函数使用起来很简单。测试环境:win10,nginx@1.5.11,php@7.4.29nts。从测试结果上来看,getallheaders()函数的返回结果,在$_SERVER变量里面都存在。所以,是不是需要使用呢?你来决定。
getallheaders()
getallheaders()函数是在.php文件中,获得当前请求的全部HTTP请求头信息的集合。测试代码如下:
$headers = getallheaders();
var_dump($headers);
foreach (getallheaders() as $name => $value) {
echo "$name: $value\n";
}getallheaders()函数说明:
$_SERVER变量
其实getallheaders()的返回值,在$_SERVER变量里面都存在。
var_dump($_SERVER);$_SERVER包括的内容要远多于getallheaders()。在$_SERVER中那些以HTTP_开头的,就是getallheaders()中的返回值,也就是客户端中发送的数据。

常见的header
对于检测客户端的header这个需求来说,最经常检测的header信息主要有:
| 名称 | getallheaders() | $_SERVER | value |
|---|---|---|---|
| cookie | Cookie | HTTP_COOKIE | cookie_name1_cp=%E6%B5%8F%E8 |
| ua | User-Agent | HTTP_USER_AGENT | Mozilla/5.0 (Windows NT 10.0; |
| 类型 | Accept | HTTP_ACCEPT | text/html,application/xhtml+xml |
| 语言 | Accept-Language | HTTP_ACCEPT_LANGUAGE | zh-CN,zh;q=0.9 |
| 编码 | Accept-Encoding | HTTP_ACCEPT_ENCODING | gzip, deflate |
相关链接
综述
如果想获得客户端传递的秘密信息,然后就可以检测一下header。