PHP 如何保存/打印 整个Http请求头和附带的post数据?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 如何保存/打印 整个Http请求头和附带的post数据?相关的知识,希望对你有一定的参考价值。
$_SERVER全是解析后的,我需要的是原始的全部数据用于转发
你在文件中添加phpinfo();语句,这个语句显示所有的变量值,你仔细阅读输出内容,会有启发的。POST提交的所有数据在$_POST数组里面。 参考技术A 同求,知道的大神解答一下 参考技术B 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
复制代码代码如下:
<?php
foreach (getallheaders() as $name => $value)
echo "$name: $value\n";
?>
不过这个函数只能在apache环境下使用,iis或者nginx并不支持,可以通过自定义函数实现
复制代码代码如下:
<?php
<SPAN class=html>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;
</SPAN>
?>
好了,看看都打印出了啥吧
复制代码代码如下:
<?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
) 参考技术C http://www.jb51.net/article/32644.htm
不知道这个是不是你要找的
JavaScript获取并保存http请求头信息
如题,打开js文件后获取HTTP请求头信息,并保存到txt文件html文件中
参考技术A// ajax 对象
function ajaxObject()
var xmlHttp;
try
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
catch (e)
// Internet Explorer
try
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
catch (e)
try
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
catch (e)
alert("您的浏览器不支持AJAX!");
return false;
return xmlHttp;
// ajax post请求:
function ajaxPost ( url , data , fnSucceed , fnFail , fnLoading )
var ajax = ajaxObject();
ajax.open( "post" , url , true );
ajax.setRequestHeader( "Content-Type" , "application/x-www-form-urlencoded" );
ajax.onreadystatechange = function ()
if( ajax.readyState == 4 )
if( ajax.status == 200 )
fnSucceed( ajax.responseText );
else
fnFail( "HTTP请求错误!错误码:"+ajax.status );
else
fnLoading();
ajax.send( data );
以上是关于PHP 如何保存/打印 整个Http请求头和附带的post数据?的主要内容,如果未能解决你的问题,请参考以下文章