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 相关文章推荐
提问的智慧
Oct 09 PHP
自己前几天写的无限分类类
Feb 14 PHP
php学习之变量的使用
May 29 PHP
yii框架源码分析之创建controller代码
Jun 28 PHP
PHP错误提示的关闭方法详解
Jun 23 PHP
PHP小技巧之函数重载
Jun 02 PHP
php中curl使用指南
Feb 05 PHP
四个PHP非常实用的功能
Sep 29 PHP
php实现点击可刷新验证码
Nov 07 PHP
php实现生成code128条形码的方法详解
Jul 19 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
Jul 26 PHP
php对象工厂类完整示例
Aug 09 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
Yii2框架可逆加密简单实现方法
2017/08/25 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
关于IE BUG与字符串截取substr的解决办法
2013/04/10 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
js中arguments的用法(实例讲解)
2013/11/30 Javascript
使用js画图之画切线
2015/01/12 Javascript
js动态切换图片的方法
2015/01/20 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
node使用mysql获取数据库数据中文乱码问题的解决
2019/12/02 Javascript
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
Python部署web开发程序的几种方法
2017/05/05 Python
简单了解Python中的几种函数
2017/11/03 Python
SVM基本概念及Python实现代码
2017/12/27 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
对python3标准库httpclient的使用详解
2018/12/18 Python
python 图像插值 最近邻、双线性、双三次实例
2020/07/05 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
美国卡车、吉普车和SUV零件网站:4 Wheel Parts
2016/11/24 全球购物
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
建筑院校毕业生求职信
2014/06/13 职场文书
社区党员群众路线教育实践活动心得体会
2014/11/03 职场文书
房产公证书格式
2015/01/26 职场文书
2016春节慰问信范文
2015/03/25 职场文书
2015年宣传工作总结
2015/04/08 职场文书
Keras多线程机制与flask多线程冲突的解决方案
2021/05/28 Python
k8s部署redis cluster集群的实现
2021/06/24 Redis
python创建字典及相关管理操作
2022/04/13 Python
python计算列表元素与乘积详情
2022/08/05 Python