很多站长朋友们都不太清楚php查看http报文,今天小编就来给大家整理php查看http报文,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 如何用自己的pc查看HTTP的请求报文和应答报文 2、 php如何获取一个http包 3、 php 怎么知道http请求的状态(比如正常连线 4、 php 如何获取 客户端http header 如何用自己的pc查看HTTP的请求报文和应答报文想查看HTTP请求和应答报文,可以先了解一下TCP和HTTP协议:HTTP是第七层也就是应用层协议,它是建立在TCP协议之上的,因此,抓包分析的话,HTTP交互都是从TCP三次握手开始的。
以一次简单的HTTP交互为例说明:
客户端-->syn-->服务器 (TCP层交互)
服务器-->syn ack-->客户端 (TCP层交互)
客户端-->ack-->服务器 (TCP层交互)
TCP三次握手建立连接后,
4. 客户端发送GET/POST请求数据 (HTTP层交互)
5. 服务器收到GET/POST请求,回复ack (TCP层交互)
6. 服务器根据请求回复相应的数据 (HTTP层交互)
7. 客户端收到服务器数据,回复ack (TCP层交互)
在完成HTTP数据交互后,TCP四次分手断开连接:
8. 客户端-->fin ack-->服务器
9. 服务器-->ack-->客户端
10. 服务器-->fin ack-->客户端
11. 客户端-->ack-->服务器
这样,一次简单的HTTP交互就完成了。如果要查看的话,windows下可用wireshark等抓包工具,linux下用tcpdump就行。wireshark和tcpdump都可以指定网卡和设置相关规则,过滤掉不想关的报文。
php如何获取一个http包$_POST是一个数组,echo $_POST当然是Array.你可以var_dump($_POST)看一下数组里的参数和值。如果你传过去的参数是a,值是hello,你可以用 $_POST['a']来获取,仿GET方式welcome.php?a=hello
echo $_GET['a'];
php 怎么知道http请求的状态(比如正常连线PHP可以用 ignore_user_abort 忽略用户的中断,继续执行脚本。可以用 register_shutdown_function()
在中断时回调函数。回调可以用 connection_status 查看连接的状态:
0 - NORMAL
1 - ABORTED
2 - TIMEOUT
3 - ABORTED and TIMEOUT
php 如何获取 客户端http header<?php
$dir=$HTTP_GET_VARS["dir"]; //.......取得上个页面传递来的路径
$file=$HTTP_GET_VARS["file"]; //.......取得传递来的文件名
$url=parse_url($HTTP_REFERER); /*......取得前一页面的URL地址,并将其放入一个数组中*/
if($url[host]!=$HTTP_HOST){echo "要下载本软件请到<a href=;东方小屋</a>";exit;} /*检查来源网站是不是自己的网站,如果不是,返回“要下载本……”*/
if(empty($dir))$dir="/"; //......如果路径名为空,则为指定根目录
if(empty($file)){echo "未指定要下载的文件!";exit;} /*如果文件名为空,返回“未指定……”*/
$rootdir="文件存放的根目录";//......你的下载路径根目录
$realurl=$rootdir.$dir; //.......取得你的下载目录
chdir($realurl); //......将当前目录转到下载目录中
if(!file_exists($file)){echo "对不起,此链接已经失效,请在下载页面上向我们报告,谢谢!";exit;} //......测试文件是否存在
$filename=$file;
//发送文件头信息
header("Cache-control: private"); // fix for IE
header("Content-Type: application/octet-stream");
header("Content-Length: ".filesize($filename));
header("Content-Disposition: attachment; filename=$filename");
$fp = fopen($filename, 'r'); //以读取方式打开指定文件
fpassthru($fp); // ** CORRECT ** 以二进制方式读取文件
fclose($fp); // 关闭文件
?>
关于php查看http报文的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于包含php查看http报文的词条的详细内容...