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
上一篇: MySQL开发轨范[转自网络]