PHP实现模拟http请求的方法分析


Posted in PHP onDecember 20, 2017

本文实例讲述了PHP实现模拟http请求的方法。分享给大家供大家参考,具体如下:

在http简析中,我们提到了浏览器请求资源的一个流程,那么这个流程能不能用php来模拟呢?答案是肯定的。

php模拟http请求需要实现以下步骤:

1.连接apache服务器

使用fsockopen:专门用于连接服务器,得到一个连接资源

2.写入http协议

使用fwrite向资源写入内容

3.接收数据

请求成功后返回的数据会被存放在资源中

4.解析数据:

使用fgets,和fgetc函数

实现代码:

<?php
  //php模拟发出http请求
  //1.连接目标服务器apache
  $f=fsockopen('localhost',98,$erron,$error);
  //2.写入http协议
  //2.1拼凑http协议
  //请求行
  $http="GET /phpstudy/index.php HTTP/1.1\r\n";
  //请求头
  $http .="Host:localhost\r\n";
  //空行
  $http .="\r\n";
  //2.2写给apache服务器
  if(fwrite($f,$http))
  {
    //写入成功
    //3.数据已经接收并存放在f资源中
    //4.解析资源
    //循环遍历
    while($line=fgets($f,1024))
    {
      //输出
      echo $line ."</br>";
    }
  }

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php5.2时间相差8小时
Jan 15 PHP
php fckeditor 调用的函数
Jun 21 PHP
php Calender(日历)代码分享
Jan 03 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
PHP访问Google Search API的方法
Mar 05 PHP
隐性调用php程序的方法
Jun 13 PHP
php简单判断文本编码的方法
Jul 30 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
php仿微信红包分配算法的实现方法
May 13 PHP
PHP实现的文件操作类及文件下载功能示例
Dec 24 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 #PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 #PHP
PHP实现的最大正向匹配算法示例
Dec 19 #PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 #PHP
PHP实现的折半查找算法示例
Dec 19 #PHP
PHP实现的二分查找算法实例分析
Dec 19 #PHP
PHP实现git部署的方法教程
Dec 19 #PHP
You might like
PHP实现阳历到农历转换的类实例
2015/03/07 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
PHP与SQL语句写一句话木马总结
2019/10/11 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
php + ajax 实现的写入数据库操作简单示例
2020/05/16 PHP
ExtJS的FieldSet的column列布局
2009/11/20 Javascript
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
2010/11/14 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
2014/01/14 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
JavaScript希尔排序、快速排序、归并排序算法
2016/05/08 Javascript
Bootstrap 附加导航(Affix)插件实例详解
2016/06/01 Javascript
Javascript highcharts 饼图显示数量和百分比实例代码
2016/12/06 Javascript
浅谈Angular4实现热加载开发旅程
2017/09/08 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
vue过滤器用法实例分析
2019/03/15 Javascript
详解滑动穿透(锁body)终极探索
2019/04/16 Javascript
Node.JS在命令行中检查Chrome浏览器是否安装并打开指定网址
2019/05/21 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
香港莎莎官网Sasa.com:亚洲著名国际化妆品商城
2019/11/10 全球购物
餐饮业会计岗位职责
2013/12/19 职场文书
领导视察欢迎词
2014/01/15 职场文书
幼儿园毕业家长感言
2014/02/10 职场文书
小学生学习感言
2014/03/10 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
考核评语大全
2014/04/29 职场文书
法律顾问服务方案
2014/05/15 职场文书
普通话宣传标语
2014/06/26 职场文书
导游词怎么写
2015/02/04 职场文书
会计专业求职信范文
2015/03/19 职场文书
演讲稿:态度决定一切
2019/04/02 职场文书
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis
Golang Web 框架Iris安装部署
2022/08/14 Python