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 相关文章推荐
第1次亲密接触PHP5(2)
Oct 09 PHP
php小偷相关截取函数备忘
Nov 28 PHP
PHP中extract()函数的定义和用法
Aug 17 PHP
php将gd生成的图片缓存到memcache的小例子
Jun 05 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
hadoop中一些常用的命令介绍
Jun 19 PHP
ThinkPHP基于PHPExcel导入Excel文件的方法
Oct 15 PHP
php 魔术方法详解
Nov 11 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
php实现excel中rank函数功能的方法
Jan 20 PHP
WordPress中的shortcode短代码功能使用详解
May 17 PHP
Yii2.0框架模型多表关联查询示例
Jul 18 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简单对象与数组的转换函数代码(php多层数组和对象的转换)
2011/05/18 PHP
php实现的短网址算法分享
2014/06/20 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Yii框架组件的事件机制原理与用法分析
2020/04/07 PHP
jQuery 性能优化指南(3)
2009/05/21 Javascript
使图片旋转的3种解决方案
2013/11/21 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
JavaScript实现把数字转换成中文
2015/06/29 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
async/await与promise(nodejs中的异步操作问题)
2017/03/03 NodeJs
在vue项目中,将juery设置为全局变量的方法
2018/09/25 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
2019/07/29 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
解决Vue中的生命周期beforeDestory不触发的问题
2020/07/21 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[36:19]2018DOTA2亚洲邀请赛 小组赛 A组加赛 Newbee vs LGD
2018/04/03 DOTA
Python爬虫利用cookie实现模拟登陆实例详解
2017/01/12 Python
Python正则表达式和元字符详解
2018/11/29 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
新手常见Python错误及异常解决处理方案
2020/06/18 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
德国在线香料制造商:Gewürzland
2020/03/10 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
Python实现单例模式的5种方法
2021/06/15 Python
MySQL transaction事务安全示例讲解
2022/06/21 MySQL