1. 程式人生 > >PHP獲取http頭資訊

PHP獲取http頭資訊

獲取http請求的頭資訊。

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 . Please read the 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

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value\n";
}

?> 
不過這個函式只能在apache環境下使用,iis或者nginx並不支援,可以通過自定義函式實現
<?php 
if (!function_exists('getallheaders')) 
{
    function getallheaders() 
    {
       foreach ($_SERVER as $name => $value) 
       {
           if (substr($name, 0, 5) == 'HTTP_') 
           {
               $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
           }
       }
       return $headers;
    }
}
?>

好了,看看都打印出了啥吧
<?php
print_r(getallheaders());

獲得結果:
Array
(
    [Accept] => */*
    [Accept-Language] => zh-cn
    [Accept-Encoding] => gzip, deflate
    [User-Agent] => Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727)
    [Host] => localhost
    [Connection] => Keep-Alive
)

相關推薦

PHP獲取http資訊

獲取http請求的頭資訊。 PHP手冊提供了現成的函式: getallheaders (PHP 4, PHP 5) getallheaders — Fetch all HTTP request headers 說明 array getallheaders ( v

php獲取header資訊

      研究一晚上php關於自定義header頭資訊的問題。看了很多程式碼,但是由於本人才疏學淺。連測試demo都沒跑通。實在是慚愧。這裡看到個獲取header資訊的方法,挺不錯的,記錄一下。       我們可以在$_SERVER中獲取header資料,

php獲取http頭部請求狀態資訊

我們在使用站長工具會發現有一個獲取網站http狀態資訊了,其實這個功能使用php非常的簡單的,我們可以使用curl來實現下面來看一些整理的例子。使用curl需要在php.ini中設定啟用才行 >< Windows的伺服器中,開啟php.ini,找到:extensi

php 構造http php模擬http請求 偽裝頭部資訊

http://jingyan.baidu.com/article/335530daafcd6019ca41c352.html <?php /** 構造 http 請求  */ $filename="http://sj.mjerp.com/dabenying

獲取某網站某地址的http資訊,get_headers()

----------------------------------------------------get_headers 程式: <?php /** * @name test.php * @date Sun Jan 19 18:59:31 CST 2008

servlet學習(二)request物件獲取請求資訊

一、作用 封存了當前請求的所有請求資訊 二、使用 獲取請求頭的資訊包括: 1.請求行:請求方式 請求URL/URI 協議版本 //獲取請求行 String method=req.getMethod(); StringBuffer url=req.get

request資訊獲取request資訊的方法

頭資訊描述 Accept這個頭資訊指定瀏覽器或其他客戶端可以處理的 MIME 型別。值 image/png 或 image/jpeg 是最常見的兩種可能值。 Accept-Charset這個頭資訊指定瀏覽器可以用來顯示資訊的字符集。例如 ISO-8859-1。

PHP獲取header頭部資訊

獲取header資訊 /** * *接收頭資訊 **/ function em_getallheaders() { foreach ($_SERVER as $name => $value) {

HttpClient 傳送Post Get請求例子 包含設定請求資訊獲取返回資訊

                package com.test.action;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.apache.commons.httpclient.De

Servlet 獲取請求資訊和請求引數

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* * 獲取請求報文頭

HttpClient 傳送Post Get請求例子(包含設定請求資訊獲取返回資訊

package com.test.action; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org.apache.commons.httpclient.DefaultHt

資料抓取之反爬蟲規則:使用代理和http資訊

之前說個數據抓取遇到的一個坎就是驗證碼,這次來說另外兩個。我們知道web系統可以拿到客戶請求資訊,那麼針對客戶請求的頻率,客戶資訊都會做限制。如果一個ip上的客戶訪問過於頻繁,或者明顯是用程式抓取,肯定是要禁止的。本文針對這兩個問題說下解決方法。 其實針對上述兩個問題,解決方法已經很成熟了,無非就是買代理和

【支付寶小程式】PHP 獲取使用者敏感資訊手機號 驗籤解密 RSA解密 AES解密

需求 支付寶小程式端,獲取到加密的使用者手機號資料,需要經過服務端對資料進行解密,得到使用者的手機號 問題 使用者資訊為敏感資訊,需要用到敏感資訊加密解密方法中的方式進行解密 服務端為PHP,由於官方沒有對應的演示demo,經過摸索測試,還是出現了驗籤不通過,並且解密不成

在loadrunner下獲取header資訊

1、REQUEST,用於提取完整的請求頭資訊。 2、RESPONSE,用於提取完整的響應頭資訊。3、ResponseBody ,用於提取完整的響應體資訊。注意,這兩個變數僅在請求前使用web_save_header註冊使用。示例如下: Action() { web_

PHP 獲取伺服器詳細資訊

獲取系統型別及版本號:    php_uname()     (例:Windows NT COMPUTER 5.1 build 2600) 只獲取系統型別:          php_uname('s')       (或:PHP_OS,例:Windows NT)

PHP獲取HTTP body內容

PHP 獲取Http body的內容 有時候我們獲取資料時需要根據Header中的格式來解析,比如上傳一個json而不是一個文字。這裡用到了 php輸入|輸出流 的概念。 PHP 提供了一些雜項輸入/輸出(IO)流,允許訪問 PHP 的輸入輸出流、標準

PHP常用http

PHP常用Http頭 404 header('HTTP/1.1 404 Not Found'); 301,302 #firefox中有時會快取301跳轉所以加上了快取過期 header("Expire

php偽造http破解防盜鏈程式碼

用於圖片,軟體等突破防盜鏈的方法。 偽造referer例項程式碼,主要用於一些突破防盜鏈,比如圖片,軟體等。 這裡就直接給出完整的程式吧,具體的應用可以自己修改。  我這裡給出的例子是很簡單的,其實可以從這個例子中發展出很多的應用。比如隱藏真實的URL地址……嘿嘿,具體的就

Android HTTPS驗證和新增http資訊token認證

SchemeRegistry schemeRegistry = new SchemeRegistry(); schemeRegistry.register(new Scheme("http", PlainSocketFactory .getSocketFact

AFNetworking 2.0獲取響應資訊

前文有提到在初始化的時候可以設定Http的頭資訊,這沒有任何問題,但是在筆者使用過程中,時常是要獲取Http返回的一些頭資訊,在初次用AFNetworking2.0新特性NSURLSessionDataTask的時候,為了獲取返回的頭資訊,搞了兩個晚上,先是度娘,谷歌,S