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 相关文章推荐
怎样在UNIX系统下安装php3
Oct 09 PHP
个人站长制做网页常用的php代码
Mar 03 PHP
php在线生成ico文件的代码
Oct 09 PHP
一家之言的经验之谈php+mysql扎实个人基本功
Mar 27 PHP
php代码收集表单内容并写入文件的代码
Jan 29 PHP
php下载excel无法打开的解决方法
Dec 24 PHP
php文件夹的创建与删除方法
Jan 24 PHP
PHP获取文件夹内文件数的方法
Mar 12 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
PHP输入输出流学习笔记
May 12 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHPMailer使用QQ邮箱实现邮件发送功能
Aug 18 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更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
PHP迭代器的内部执行过程详解
2013/11/12 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
jQuery语法高亮插件支持各种程序源代码语法着色加亮
2013/04/27 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
多引号嵌套的变量命名的问题
2014/05/09 Javascript
浅谈Javascript线程及定时机制
2015/07/02 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
全面了解函数声明与函数表达式、变量提升
2016/08/09 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
jquery横向纵向鼠标滚轮全屏切换
2017/02/27 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
Vue不能观察到数组length的变化
2018/06/08 Javascript
js console.log打印对象时属性缺失的解决方法
2019/05/23 Javascript
JavaScript仿京东秒杀倒计时
2020/03/17 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
[53:29]完美世界DOTA2联赛循环赛 DM vs Matador BO2第二场 11.04
2020/11/05 DOTA
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python实现比较两个列表(list)范围
2015/06/12 Python
python中实现k-means聚类算法详解
2017/11/11 Python
python爬取淘宝商品销量信息
2018/11/16 Python
pygame游戏之旅 载入小车图片、更新窗口
2018/11/20 Python
python语言基本语句用法总结
2019/06/11 Python
Python 闭包,函数分隔作用域,nonlocal声明非局部变量操作示例
2019/10/14 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
英国太阳镜品牌:Taylor Morris Eyewear
2018/04/18 全球购物
30岁生日感言
2014/01/25 职场文书
元旦晚会策划方案
2014/02/18 职场文书
教师网络培训感言
2014/03/09 职场文书
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
入党后的感想
2015/08/10 职场文书
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python