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 相关文章推荐
ADODB的数据库封包程序库
Dec 31 PHP
php win下Socket方式发邮件类
Aug 21 PHP
php 操作数组(合并,拆分,追加,查找,删除等)
Jul 20 PHP
PHP编码规范的深入探讨
Jun 06 PHP
PHP设计模式之解释器模式的深入解析
Jun 13 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
递归实现php数组转xml的代码分享
May 14 PHP
PHP里面把16进制的图片数据显示在html的img标签上(实现方法)
May 02 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
Jan 15 PHP
微信公众平台开发教程③ PHP实现微信公众号支付功能图文详解
Apr 10 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 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
在线短消息收发的程序,不用数据库
2006/10/09 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
php ci 获取表单中多个同名input元素值的代码
2016/03/25 PHP
PHP常用正则表达式精选(推荐)
2019/05/28 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
JavaScript 提升运行速度之循环篇 译文
2009/08/15 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
jquery放大镜效果超漂亮噢
2013/11/15 Javascript
jQuery在页面加载时动态修改图片尺寸的方法
2015/03/20 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
js禁止表单重复提交
2017/08/29 Javascript
ES7中利用Await减少回调嵌套的方法详解
2017/11/01 Javascript
VUE 实现滚动监听 导航栏置顶的方法
2018/09/11 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
浅谈nuxtjs校验登录中间件和混入(mixin)
2020/11/06 Javascript
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
在Django的视图(View)外使用Session的方法
2015/07/23 Python
JavaScript实现一维数组转化为二维数组
2018/04/17 Python
Python修改文件往指定行插入内容的实例
2019/01/30 Python
基于多进程中APScheduler重复运行的解决方法
2019/07/22 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
python使用建议与技巧分享(一)
2020/08/17 Python
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
捷克电器和DJ设备网上商店:Electronic-star
2017/07/18 全球购物
善意的谎言事例
2014/02/15 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
美术专业自荐信
2014/07/07 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
宪法宣传标语100条
2019/10/15 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
JavaScript正则表达式实现注册信息校验功能
2022/05/30 Java/Android