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 相关文章推荐
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
PHP在字符断点处截断文字的实现代码
Apr 21 PHP
PHP Directory 函数的详解
Mar 07 PHP
php中使用$_REQUEST需要注意的一个问题
May 02 PHP
PHP封装的一个支持HTML、JS、PHP重定向的多功能跳转函数
Jun 19 PHP
thinkphp文件引用与分支结构用法实例
Nov 26 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
May 13 PHP
thinkphp3.2点击刷新生成验证码
Feb 16 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
PHP中字符与字节的区别及字符串与字节转换示例
Oct 15 PHP
php中引用&的用法分析【变量引用,函数引用,对象引用】
Dec 12 PHP
thinkphp5框架扩展redis类方法示例
May 06 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中PDO基础教程 入门级
2011/09/04 PHP
php 搜索框提示(自动完成)实例代码
2012/02/05 PHP
php使用preg_match()函数验证ip地址的方法
2017/01/07 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
了解Javascript的模块化开发
2015/03/02 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
JavaScript实现公历转农历功能示例
2017/02/13 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
python学习数据结构实例代码
2015/05/11 Python
python编程通过蒙特卡洛法计算定积分详解
2017/12/13 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
Python 定义只读属性的实现方式
2020/03/05 Python
将keras的h5模型转换为tensorflow的pb模型操作
2020/05/25 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
阿里健康官方海外旗舰店:阿里健康国际自营
2017/11/24 全球购物
MATCHESFASHION.COM法国官网:英国奢侈品零售商
2018/01/04 全球购物
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
全球工业:Global Industrial
2020/02/01 全球购物
在weblogic中发布ejb需涉及到哪些配置文件
2012/01/17 面试题
大学生活学习的自我评价
2013/12/03 职场文书
阳光体育活动方案
2014/02/16 职场文书
工程专业应届生求职信
2014/02/19 职场文书
实习报告评语
2014/04/26 职场文书
青年安全生产示范岗事迹材料
2014/05/04 职场文书
初二学生评语大全
2014/12/26 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
2015年个人招商工作总结
2015/04/25 职场文书
推销搭讪开场白
2015/05/28 职场文书
人民的好儿女观后感
2015/06/18 职场文书
超市主管竞聘书
2015/09/15 职场文书
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript