为了账号安全,请及时绑定邮箱和手机立即绑定

如何在PHP中读取任何请求标头

如何在PHP中读取任何请求标头

PHP
GCT1015 2019-07-26 11:22:53
如何在PHP中读取任何请求标头我应该如何阅读PHP中的任何标题?例如自定义标题:X-Requested-With。
查看完整描述

3 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

IF:您只需要一个标题,而不是所有标题,最快的方法是:

<?php// Replace XXXXXX_XXXX with the name of the header you need in UPPERCASE (and with '-' replaced by '_')$headerStringValue = $_SERVER['HTTP_XXXXXX_XXXX'];


ELSE IF:您将PHP作为Apache模块运行,或者从PHP 5.4开始,使用FastCGI(简单方法):

apache_request_headers()

<?php
$headers = apache_request_headers();foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";}


ELSE:在任何其他情况下,您都可以使用(userland implementation):

<?phpfunction getRequestHeaders() {
    $headers = array();
    foreach($_SERVER as $key => $value) {
        if (substr($key, 0, 5) <> 'HTTP_') {
            continue;
        }
        $header = str_replace(' ', '-', ucwords(str_replace('_', ' ', strtolower(substr($key, 5)))));
        $headers[$header] = $value;
    }
    return $headers;}$headers = getRequestHeaders();foreach ($headers as $header => $value) {
    echo "$header: $value <br />\n";}


另请参阅
getallheaders() - (PHP> = 5.4)跨平台版本apache_request_headers()apache_response_headers()的别名- 获取所有HTTP响应头。
headers_list() - 获取要发送的标头列表。


查看完整回答
反对 回复 2019-07-26
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

$_SERVER['HTTP_X_REQUESTED_WITH']

RFC3875,4.1.18

HTTP_如果使用的协议是HTTP,则名称以包含值的元变量从客户端请求头字段读取。HTTP标头字段名称转换为大写,所有出现的-替换为,_并且已经HTTP_预先赋予元变量名称。


查看完整回答
反对 回复 2019-07-26
  • 3 回答
  • 0 关注
  • 469 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信