PHP 抓取 HTML header 資訊/資料

PHP 抓取 HTML header 資訊/資料

PHP 抓取 HTML header 資訊/資料



資料來源: https://www.php.net/manual/zh/function.getallheaders.php


<?php

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

?>

<?php 
//https://blog.csdn.net/Zhihua_W/article/details/79259319 
	/** 
	 * ======================================= 
	 * Created by ZHIHUA·WEI. 
	 * Author: ZHIHUA·WEI 
	 * Date: 2018/2/05 
	 * Time: 13:10 
	 * Project: PHP开发小技巧 
	 * Power: 用php获取header头信息的方法
	 * ======================================= 
	 */ 
	 
	function GetAllHeader()
	{
		// 忽略获取的header数据。这个函数后面会用到。主要是起过滤作用
		$ignore = array('host','accept','content-length','content-type'); 
		$headers = array();
		//这里大家有兴趣的话,可以打印一下。会出来很多的header头信息。咱们想要的部分,都是‘http_'开头的。所以下面会进行过滤输出。
		/*var_dump($_SERVER);
		exit;*/
 
		foreach($_SERVER as $key=>$value){
			if(substr($key, 0, 5)==='HTTP_'){
				//这里取到的都是'http_'开头的数据。
				//前去开头的前5位
				$key = substr($key, 5);
				//把$key中的'_'下划线都替换为空字符串
				$key = str_replace('_', ' ', $key);
				//再把$key中的空字符串替换成‘-’
				$key = str_replace(' ', '-', $key);
				//把$key中的所有字符转换为小写
				$key = strtolower($key);
 
				//这里主要是过滤上面写的$ignore数组中的数据
				if(!in_array($key, $ignore)){
					$headers[$key] = $value;
				}
			}
		}
		//输出获取到的header
		return $headers;
	}  
	  
	var_dump(GetAllHeader());
?>


自己最後在 USBWEBSERVER 實測:

<?php

foreach (getallheaders() as $name => $value) {
    echo "$name: $value";
	echo "</br>";
}
echo "-----------------";
echo "</br>";
	function GetAllHeader()
	{
		// 忽略获取的header数据。这个函数后面会用到。主要是起过滤作用
		$ignore = array('host','accept','content-length','content-type'); 
		$headers = array();
		//这里大家有兴趣的话,可以打印一下。会出来很多的header头信息。咱们想要的部分,都是‘http_'开头的。所以下面会进行过滤输出。
		/*var_dump($_SERVER);
		exit;*/
 
		foreach($_SERVER as $key=>$value){
			if(substr($key, 0, 5)==='HTTP_'){
				//这里取到的都是'http_'开头的数据。
				//前去开头的前5位
				$key = substr($key, 5);
				//把$key中的'_'下划线都替换为空字符串
				$key = str_replace('_', ' ', $key);
				//再把$key中的空字符串替换成‘-’
				$key = str_replace(' ', '-', $key);
				//把$key中的所有字符转换为小写
				$key = strtolower($key);
 
				//这里主要是过滤上面写的$ignore数组中的数据
				if(!in_array($key, $ignore)){
					$headers[$key] = $value;
				}
			}
		}
		//输出获取到的header
		return $headers;
	}  
	  

foreach (GetAllHeader() as $name => $value) {
    echo "$name: $value";
	echo "</br>";	
}

echo "</br>";
echo "-----------------";
echo "</br>";

foreach($_SERVER as $key=>$value){
    echo "$key: $value";
	echo "</br>";		
}
?>

One thought on “PHP 抓取 HTML header 資訊/資料

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *