php模拟asp中的XmlHttpRequest实现http请求的代码


Posted in PHP onMarch 24, 2011

类名 :HttpRequest($url="",$method="GET",$useSocket=0)
//$url为请求的地址;默认请求方法为GET;$useSocket默认为0,使用fsockopen方法,如果设置为1则使用socket_create方法

方法:
open($ip="",$port=-1) //打开同服务器的连接,默认不用设置这两个参数(一个同事在linux用的时候,请求的不是hostname解析的IP,因此加了这两个参数,以连接真实的服务器IP)
setTimeout($timeout=0) //设置获取数据的超时时间,必须在send方法调用之前设置才有效,单位秒,默认值0为不限制
setRequestHeader($key,$value="") //设置请求头,必须在send方法调用之前设置才有效
removeRequestHeader($key,$value="") //移除指定键值的请求头,必须在send方法调用之前调用才有效
send($data="") //发送数据$data到服务器
getResponseBody() //获取服务器返回的文本
getAllResponseHeaders() //获取服务器响应的所有头信息
getResponseHeader($key) //获取服务器响应的某个头信息,例如Server,Set_Cookie等

属性:
$url //要请求的url
$method //请求方法(POST/GET)
$port //请求的端口
$hostname //请求的主机名
$uri //url的文件部分
$protocol //请求协议(http)(包括本属性的以上5个属性均由程序自动通过url分析)
$excption //异常信息
$_headers=array() //请求头array("key"=>"value")
$_senddata //发送到服务器的数据
$status //返回的状态码
$statusText //状态信息
$HttpProtocolVersion //服务器的HTTP协议版本

注意:
Host头由程序自动设置,当用POST方法请求时,Content-Length和Content-Type已被自动设置。
支持gzip压缩的页面
php_XmlHttpRequest.rar

PHP 相关文章推荐
PHP4和PHP5共存于一系统
Nov 17 PHP
ubuntu下编译安装xcache for php5.3 的具体操作步骤
Jun 18 PHP
file_get_contents("php://input", "r")实例介绍
Jul 01 PHP
php不使用插件导出excel的简单方法
Mar 04 PHP
php实现文件下载代码分享
Aug 19 PHP
PHP使用静态方法的几个注意事项
Sep 16 PHP
php使用explode()函数将字符串拆分成数组的方法
Feb 17 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
PHP实现下载远程图片保存到本地的方法
Jun 19 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
php实现数组重复数字统计实例
Sep 30 PHP
PHP实用小技巧之调用录像的方法
Dec 05 PHP
php邮件发送,php发送邮件的类
Mar 24 #PHP
php 数组排序 array_multisort与uasort的区别
Mar 24 #PHP
一个基于PDO的数据库操作类
Mar 24 #PHP
Zend Studio (eclipse)使用速度优化方法
Mar 23 #PHP
常见的PHP五种设计模式小结
Mar 23 #PHP
PHP中MVC模式的模板引擎开发经验分享
Mar 23 #PHP
PHP面向接口编程 耦合设计模式 简单范例
Mar 23 #PHP
You might like
php 保留小数点
2009/04/21 PHP
PHP数据对象PDO操作技巧小结
2016/09/27 PHP
PHP使用POP3读取邮箱接收邮件的示例代码
2020/07/08 PHP
this[] 指的是什么内容 讨论
2007/03/24 Javascript
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
Extjs学习笔记之九 数据模型(上)
2010/01/11 Javascript
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
实例教学如何写vue插件
2017/11/30 Javascript
vue 项目打包通过命令修改 vue-router 模式 修改 API 接口前缀
2018/06/13 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
Layui数据表格之获取表格中所有的数据方法
2018/08/20 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
[05:40]DOTA2荣耀之路6:Wings最后进攻
2018/05/30 DOTA
[40:16]TFT vs Mski Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
Python 的类、继承和多态详解
2017/07/16 Python
深入浅析Python传值与传址
2018/07/10 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
Space NK美国站:英国高端美妆护肤商城
2017/05/22 全球购物
在浏览器端如何得到服务器端响应的XML数据
2012/11/24 面试题
工程业务员工作职责
2013/12/07 职场文书
个性与发展自我评价
2014/02/11 职场文书
捐资助学倡议书
2014/04/15 职场文书
学校先进集体事迹材料
2014/05/31 职场文书
小学清明节活动总结
2014/07/04 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
能让Python提速超40倍的神器Cython详解
2021/06/24 Python
日元符号 ¥
2022/02/17 杂记