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 相关文章推荐
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
Jun 09 PHP
PHP图片处理类 phpThumb参数用法介绍
Mar 11 PHP
php实现telnet功能示例
Apr 08 PHP
php简单获取文件扩展名的方法
Mar 24 PHP
PHP实现的oracle分页函数实例
Jan 25 PHP
php生成与读取excel文件
Oct 14 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
CI(CodeIgniter)框架视图中加载视图的方法
Mar 24 PHP
PHP设计模式之适配器模式定义与用法详解
Apr 03 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
Oct 17 PHP
基于laravel缓冲cache的用法详解
Oct 23 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中的超全局变量
2006/10/09 PHP
thinkphp5框架实现数据库读取的数据转换成json格式示例
2019/10/10 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
JavaScript 脚本将当地时间转换成其它时区
2009/03/19 Javascript
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
js中访问html中iframe的文档对象的代码[IE6,IE7,IE8,FF]
2011/01/08 Javascript
文本框中禁止非数字字符输入比如手机号码、邮编
2013/08/19 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
Javascript玩转继承(二)
2014/05/08 Javascript
node.js中的buffer.slice方法使用说明
2014/12/10 Javascript
利用JS生成博文目录及CSS定制博客
2016/02/10 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
实现一个完整的Node.js RESTful API的示例
2017/09/29 Javascript
详解Vue 中 extend 、component 、mixins 、extends 的区别
2017/12/20 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
Python正则表达式匹配中文用法示例
2017/01/17 Python
python使用tornado实现登录和登出
2018/07/28 Python
Django实现基于类的分页功能
2019/10/31 Python
Python之指数与E记法的区别详解
2019/11/21 Python
Python扫描端口的实现
2021/01/25 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
CK巴西官方网站:Calvin Klein巴西
2019/07/19 全球购物
Javascript如何发送一个Ajax请求
2015/01/26 面试题
环保公益广告语
2014/03/13 职场文书
2014年安全生产责任书
2014/07/22 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
学习心理学心得体会
2016/01/22 职场文书
win10音频服务未响应怎么解决?win10音频服务未响应未修复的解决方法
2022/08/14 数码科技