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 相关文章推荐
php公用函数列表[正则]
Feb 22 PHP
php 缓存函数代码
Aug 27 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
我的php学习笔记(毕业设计)
Feb 21 PHP
php上传图片存入数据库示例分享
Mar 11 PHP
smarty自定义函数htmlcheckboxes用法实例
Jan 22 PHP
PHP实现QQ空间自动回复说说的方法
Dec 02 PHP
配置eAccelerator和XCache扩展来加速PHP程序的执行
Dec 22 PHP
php查询操作实现投票功能
May 09 PHP
简述php环境搭建与配置
Dec 05 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
PHP微信分享开发详解
Jan 14 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之header的不同用法总结(实例讲解)
Nov 28 #PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
Nov 28 #PHP
You might like
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
php日志函数error_log用法实例分析
2019/09/23 PHP
PHP连接MySQL数据库的三种方式实例分析【mysql、mysqli、pdo】
2019/11/04 PHP
js 页面执行时间计算代码
2009/03/04 Javascript
优化 JavaScript 代码的方法小结
2009/07/16 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
Jquery练习之表单验证实现代码
2010/12/14 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
js实现二级菜单渐隐显示
2015/11/03 Javascript
HTML Table 空白单元格补全的简单实现
2016/10/13 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
详解javascript立即执行函数表达式IIFE
2017/02/13 Javascript
js实现一键复制功能
2017/03/16 Javascript
Node.js 使用命令行工具检查更新
2017/06/08 Javascript
nodeJS实现路由功能实例代码
2017/06/08 NodeJs
vue中移动端调取本地的复制的文本方式
2020/07/18 Javascript
Element-ui 自带的两种远程搜索(模糊查询)用法讲解
2021/01/29 Javascript
[33:17]OG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
利用Python爬取微博数据生成词云图片实例代码
2017/08/31 Python
快速解决PyCharm无法引用matplotlib的问题
2018/05/24 Python
python保存网页图片到本地的方法
2018/07/24 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
Pandas操作CSV文件的读写实现方法
2019/11/13 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
python自动生成证件号的方法示例
2021/01/14 Python
大学团支书的自我评价分享
2013/12/14 职场文书
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
经理秘书求职自荐信范文
2014/03/23 职场文书
《长相思》听课反思
2014/04/10 职场文书
促销活动总结范文
2014/04/30 职场文书
政治学专业毕业生求职信
2014/08/11 职场文书
新年寄语2016
2015/08/17 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
Javascript设计模式之原型模式详细
2021/10/05 Javascript