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 相关文章推荐
需要发散思维学习PHP
Jun 29 PHP
ajax返回值中有回车换行、空格的解决方法分享
Oct 24 PHP
ThinkPHP框架实现session跨域问题的解决方法
Jul 01 PHP
php判断linux下程序问题实例
Jul 09 PHP
php实现的微信红包算法分析(非官方)
Sep 25 PHP
标准版Eclipse搭建PHP环境的详细步骤
Nov 18 PHP
简单了解WordPress开发中update_option()函数的用法
Jan 11 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
php实现的三个常用加密解密功能函数示例
Nov 06 PHP
PHP实现动态添加XML中数据的方法
Mar 30 PHP
asp函数split()对应php函数explode()
Feb 27 PHP
php解决约瑟夫环算法实例分析
Sep 30 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和MySql中计算时间差的方法
2011/04/22 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
CodeIgniter启用缓存和清除缓存的方法
2014/06/12 PHP
PHP基于imap获取邮件实例
2014/11/11 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
DOM Scripting中的图片切换[兼容Firefox]
2010/06/12 Javascript
js中if语句的几种优化代码写法
2011/03/12 Javascript
判断对象是否Window的实现代码
2012/01/10 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
2012/12/10 Javascript
javascript根据像素点取位置示例
2014/01/27 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
jQuery获取样式中颜色值的方法
2015/01/29 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
Jquery插件之Fancybox丰富的弹出层效果附源码下载
2015/12/02 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
使用vue-aplayer插件时出现的问题的解决
2018/03/02 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
[04:50]2019DOTA2高校联赛秋季赛四强集锦
2019/12/27 DOTA
python创建线程示例
2014/05/06 Python
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
python妹子图简单爬虫实例
2015/07/07 Python
python将字典内容存入mysql实例代码
2018/01/18 Python
python使用xslt提取网页数据的方法
2018/02/23 Python
分享一下Python数据分析常用的8款工具
2018/04/29 Python
TensorFlow实现Logistic回归
2018/09/07 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python3 tkinter实现添加图片和文本
2019/11/26 Python
Python pandas如何向excel添加数据
2020/05/22 Python
FC-Moto西班牙:摩托车手最大的购物场所之一
2019/04/11 全球购物
不假外出检讨书
2014/01/27 职场文书
程序员求职信
2014/04/16 职场文书
电视节目策划方案
2014/05/16 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
《春酒》教学反思
2016/02/22 职场文书