欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

http协议模拟发送

程序员文章站 2024-02-08 17:34:46
...

客户端

<?php 
	
	//创建连接  preg_match('//', $str, $res);
	$fp = fsockopen('localhost', 80, $errno, $errstr, 10);

	//检测
	if(!$fp) {
		echo $errstr;die;
	}

	//拼接http请求报文
	$http = '';

	//请求报文包括三个部分  请求行   请求头    请求体
	$http .= "GET /class/Public/laravel/http/server.php?uid=100&name=xiaohigh HTTP/1.1\r\n";//请求头包括三个部分  请求方式  请求脚本的绝对路径   协议的版本

	//请求头信息
	$http .= "Host: localhost\r\n";
	$http .= "Connection: close\r\n\r\n";//keep-alive

	//请求体  无
	

	//发送请求
	fwrite($fp, $http);

	$res = '';
	//获取结果
	while(!feof($fp)) {
		$res .= fgets($fp);
	}

	//输出内容
	echo $res;

服务端

<?php 
	
	//打印$_POST检测参数有没有过来
	var_dump($_POST);

	//打印cookie内容
	// var_dump($_COOKIE);

	//打印server的内容
	// var_dump($_SERVER);

	//打印$_GET
	// var_dump($_GET);

	//打印$GLOBALS
	var_dump($GLOBALS);




 ?>

在浏览器最终访问

HTTP/1.1 200 OK     //响应行
					//响应头
Date: Tue, 19 Jul 2016 11:51:14 GMT
Server: Apache/2.4.17 (Win32) PHP/5.6.15
X-Powered-By: PHP/5.6.15
Content-Length: 16
Connection: close
Content-Type: text/html; charset=UTF-8

//响应体
iloveyouverymuch