服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - php模拟asp中的XmlHttpRequest实现http请求的代码

php模拟asp中的XmlHttpRequest实现http请求的代码

2019-11-20 14:19PHP教程网 PHP教程

为了自己方便模拟asp里面的xmlhttp组件写的phphttp请求类,基本的功能都实现了,支持gzip压缩

类名 :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

延伸 · 阅读

精彩推荐