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 相关文章推荐
JAVA/JSP学习系列之六
Oct 09 PHP
PHP教程之PHP中shell脚本的使用方法分享
Feb 23 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
浅析PHP安装扩展mcrypt以及相关依赖项(PHP安装PECL扩展的方法)
Jul 05 PHP
php简单的留言板与回复功能具体实现
Feb 19 PHP
Thinkphp中Create方法深入探究
Jun 16 PHP
PHP中一些可以替代正则表达式函数的字符串操作函数
Nov 17 PHP
yii2.0之GridView自定义按钮和链接用法
Dec 15 PHP
PHP7正式版测试,性能惊艳!
Dec 08 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
[原创]php使用strpos判断字符串中数字类型子字符串出错的解决方法
Apr 01 PHP
PHP上传文件及图片到七牛的方法
Jul 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下10件你也许并不了解的事情
2008/09/11 PHP
PHP三元运算符的结合性介绍
2012/01/10 PHP
使用PHP实现蜘蛛访问日志统计
2013/07/05 PHP
PHP中常用的字符串格式化函数总结
2014/11/19 PHP
laravel中短信发送验证码的实现方法
2018/04/25 PHP
google地图的路线实现代码
2009/08/20 Javascript
时间戳转换为时间 年月日时间的JS函数
2013/08/19 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
js数组去重的方法汇总
2015/07/29 Javascript
JavaScript字符串删除重复字符的方法
2015/12/25 Javascript
JS onkeypress兼容性写法详解
2016/04/27 Javascript
jQuery基础知识点总结(DOM操作)
2016/06/01 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
微信小程序开发之圆形菜单 仿建行圆形菜单实例
2016/12/12 Javascript
JSONP基础知识详解
2017/03/19 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
微信小程序class封装http代码实例
2019/08/24 Javascript
js实现多个标题吸顶效果
2020/01/08 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
[06:40]2014DOTA2西雅图国际邀请赛 DK战队巡礼
2014/07/07 DOTA
Python的Django框架中消息通知的计数器实现教程
2016/06/13 Python
Python socket非阻塞模块应用示例
2019/09/12 Python
python3通过udp实现组播数据的发送和接收操作
2020/05/05 Python
印度在线内衣和时尚目的地:Zivame
2017/09/28 全球购物
英国手机壳购买网站:Case Hut
2019/04/11 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
2014年社会实践活动总结范文
2014/04/29 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
建筑横幅标语
2014/10/09 职场文书
2014年个人委托书范本
2014/10/13 职场文书
庆六一开幕词
2015/01/29 职场文书
中国现代文学之经典散文三篇
2019/09/18 职场文书
使用springMVC所需要的pom配置
2021/09/15 Java/Android
Win11黑色桌面背景怎么办?Win11黑色壁纸解决方法汇总
2022/04/05 数码科技
电脑关机速度很慢怎么办 提升电脑关机速度设置教程
2022/04/08 数码科技