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 多维数组排序(usort,uasort)
Jun 30 PHP
一道关于php变量引用的面试题
Aug 08 PHP
PHP实现图片压缩的两则实例
Jul 19 PHP
php获取远程文件内容的函数
Nov 02 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
Dec 24 PHP
Twig模板引擎用法入门教程
Jan 20 PHP
PHP使用curl模拟post上传及接收文件的方法
Mar 04 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
php实现替换手机号中间数字为*号及隐藏IP最后几位的方法
Nov 16 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
May 05 PHP
php生成复杂验证码(倾斜,正弦干扰线,黏贴,旋转)
Mar 12 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
Oracle Faq(Oracle的版本)
2006/10/09 PHP
文件上传的实现
2006/10/09 PHP
PHP 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
PHP操作mysql数据库分表的方法
2016/06/09 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
JavaScript学习笔记(十)
2010/01/17 Javascript
js获取图片大小的函数代码
2011/09/20 Javascript
JavaScript插件化开发教程 (四)
2015/01/27 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
2015/10/25 Javascript
日常收藏的jquery技巧
2015/12/02 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
jQuery获取Table某列的值(推荐)
2017/03/03 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
JavaScript实现简单的文本逐字打印效果示例
2018/04/12 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
实例解析Python的Twisted框架中Deferred对象的用法
2016/05/25 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
Python实现的大数据分析操作系统日志功能示例
2019/02/11 Python
Python3 解决读取中文文件txt编码的问题
2019/12/20 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
路易威登和香奈儿手袋:LuxeDH
2017/01/12 全球购物
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
如何在存储过程中使用Loop
2016/01/05 面试题
岗位职责范本
2013/11/23 职场文书
早餐连锁店计划书
2014/01/08 职场文书
机械设计制造及其自动化专业求职信
2014/06/17 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
大学生暑期社会实践的个人总结!
2019/07/17 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL