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下对字符串的递增运算代码
Aug 21 PHP
Base64在线编码解码实现代码 演示与下载
Jan 08 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
Oct 29 PHP
php连接函数implode与分割explode的深入解析
Jun 26 PHP
ThinkPHP3.2.2的插件控制器功能
Mar 05 PHP
了解PHP的返回引用和局部静态变量
Jun 04 PHP
zen cart实现订单中增加paypal中预留电话的方法
Jul 12 PHP
php使用CURL模拟GET与POST向微信接口提交及获取数据的方法
Sep 23 PHP
Laravel框架FormRequest中重写错误处理的方法
Feb 18 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 PHP
PHP之header函数详解
Mar 02 PHP
阿里云服务器搭建Php+Apache运行环境的详细过程
May 15 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你的验证码安全码?
2007/01/02 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
php url路由入门实例
2014/04/23 PHP
php连接oracle数据库及查询数据的方法
2014/12/29 PHP
PHP Post获取不到非表单数据的问题解决办法
2018/02/27 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
List all the Databases on a SQL Server
2007/06/21 Javascript
js获取单选框或复选框值及操作
2012/12/18 Javascript
JQuery处理json与ajax返回JSON实例代码
2014/01/03 Javascript
兼容最新firefox、chrome和IE的javascript图片预览实现代码
2014/08/08 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
2015/08/07 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
onmouseover事件和onmouseout事件全面理解
2016/08/15 Javascript
基于WebUploader的文件上传js插件
2016/08/19 Javascript
js 动态生成json对象、时时更新json对象的方法
2016/12/02 Javascript
NodeJS创建最简单的HTTP服务器
2017/05/15 NodeJs
node前端开发模板引擎Jade的入门
2018/05/11 Javascript
Element-UI中Upload上传文件前端缓存处理示例
2019/02/21 Javascript
vue+elementUI中表格高亮或字体颜色改变操作
2020/11/02 Javascript
Python的Django框架中的select_related函数对QuerySet 查询的优化
2015/04/01 Python
Python饼状图的绘制实例
2019/01/15 Python
python GUI库图形界面开发之PyQt5信号与槽基础使用方法与实例
2020/03/06 Python
Python能做什么
2020/06/02 Python
python实现简单的五子棋游戏
2020/09/01 Python
经理管理专业毕业自荐书范文
2014/02/12 职场文书
社区志愿者培训方案
2014/06/10 职场文书
法定代表人资格证明书
2014/09/11 职场文书
上班迟到检讨书
2014/09/15 职场文书
2015七夕情人节宣传语
2015/07/14 职场文书
退休欢送会致辞
2015/07/31 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫