PHP手册提供了现成的函数:

getallheaders

(PHP 4, PHP 5)

getallheaders — Fetch all HTTP request headers

说明

array
getallheaders ( void )

Fetches all HTTP headers from the current request.

This function is an alias for apache_request_headers(). Please read theapache_request_headers() documentation for more
information on how this function works.

返回值

An associative array of all the HTTP headers in the current request, orFALSE on failure.

Example #1 getallheaders() example


  1. <?php
  2. foreach (getallheaders() as $name => $value) {
  3. echo "$name: $value\n";
  4. }
  5. ?>

不过这个函数只能在apache环境下使用,iis或者nginx并不支持,可以通过自定义函数实现

  1. <?php
  2. <span class="html">if (!function_exists('getallheaders'))
  3. {
  4. function getallheaders()
  5. {
  6. foreach ($_SERVER as $name => $value)
  7. {
  8. if (substr($name, 0, 5) == 'HTTP_')
  9. {
  10. $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
  11. }
  12. }
  13. return $headers;
  14. }
  15. }</span>
  16. ?>

好了,看看都打印出了啥吧

  1. <?php
  2. print_r(getallheaders());

获得结果:

    1. Array
    2. (
    3. [Accept] => */*
    4. [Accept-Language] => zh-cn
    5. [Accept-Encoding] => gzip, deflate
    6. [User-Agent] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
    7. [Host] => localhost
    8. [Connection] => Keep-Alive
    9. )

PHP获取http头信息的更多相关文章

  1. PHP获取http头信息和CI中获取HTTP头信息的方法

    CI中获取HTTP头信息的方法: $this->input->request_headers() 在不支持apache_request_headers()的非Apache环境非常有用.返回 ...

  2. js获取response头信息

    当我们使用ajax发起请求时,经常需要获取请求返回的头信息.默认情况下,js货可以获取如下头信息: Cache-Control Content-Language Content-Type Expirs ...

  3. Ajax获取Response头信息

    $.ajax({ type: 'HEAD', // 获取头信息,type=HEAD即可 url : window.location.href, complete: function( xhr,data ...

  4. javascript 获取http头信息

    Javascript中跟response header有关的就两个方法: getResponseHeader 从响应信息中获取指定的http头 语法 strValue = oXMLHttpReques ...

  5. jsp获取请求头信息

    <%@ page language="java" import="java.util.*" contentType="text/html; ch ...

  6. 获取相应头信息Response Headers的内容类型Content-Type

    Content-Type内容类型,也是键值对的形式: 我们在代码中获取: package com.zhi.httpClient2; import org.apache.http.Header; imp ...

  7. springmvc 获取请求头信息

    @PostMapping("/test/post") public void post(@RequestBody String params, @RequestHeader(req ...

  8. 动手学servlet(三) 请求头和响应头信息

    获取请求头信息 package servletdemo; import java.io.IOException; import java.util.Enumeration; import javax. ...

  9. JAVA Serverlet 请求头信息和响应头信息

    <1>获取请求头信息 //获取请求头信息的全部名称 Enumeration<String> header = request.getHeaderNames(); while(h ...

随机推荐

  1. ant重新编译打包hadoop-core-1.2.1.jar时遇到的错

    错误1. [root@MyDB01 hadoop]# ant -Dversion=1.2.1 examples 错误: 找不到或无法加载主类 org.apache.tools.ant.launch.L ...

  2. sencha touch list tpl 监听组件插件(2013-9-15)

    插件代码 /* *list tpl模版加入按钮监控 *<div class="x-button-normal x-button x-iconalign-center x-layout- ...

  3. linux strace 命令详解

    简介 strace常用来跟踪进程执行时的系统调用和所接收的信号. 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核 ...

  4. Gym 101915G Robots

    G. Robots time limit per test 5.0 s memory limit per test 256 MB input standard input output standar ...

  5. 硬件RDMA的驱动配置和测试

    author:headsen chen date: 2019-01-18  10:22:20 notice:created  by headsen chen himself and not allow ...

  6. apache反向代解决绝对路径可能出现的问题

    Apache2在对应用做反向代理的时候,如果应用的页面中引用的连接或者是资源的地址是相对地址的话,是没有问题的,当应用中引用的地址是绝对地址(比如:)或者是request.getContextPath ...

  7. Windows任务计划的设置

    需求:因为要定时跑一些exe的小程序,来定时执行项目内的某段代码.所以需要建一个任务计划 1. 2. 3.

  8. Git - 忽略Xcode工程中UserInterfaceState.xcuserstate文件的问题

    一.在同 .Git目录下创建.gitignore文件.在文件中加入如下内容: *.xcuserstate project.xcworkspace xcuserdata UserInterfaceSta ...

  9. vs code 搭建flutter运行环境(mac)

    之前开发过hybrid app,用的是webview渲染,由于webview的体验会没有原生的体验好,所以对跨端原生开发燃起了学习的兴趣,在react-native和flutter之间纠结, 看了网上 ...

  10. RGB颜色值与十六进制颜色码对照表

    颜色码对照表 颜色 英文代码 形象描述 十六进制 RGB LightPink 浅粉红 #FFB6C1 255,182,193 Pink 粉红 #FFC0CB 255,192,203 Crimson 猩 ...