php模擬asp中的XmlHttpRequest實(shí)現(xiàn)http請(qǐng)求的代碼
更新時(shí)間:2011年03月24日 22:18:41 作者:
為了自己方便模擬asp里面的xmlhttp組件寫的phphttp請(qǐng)求類,基本的功能都實(shí)現(xiàn)了,支持gzip壓縮
類名 :HttpRequest($url="",$method="GET",$useSocket=0)
//$url為請(qǐng)求的地址;默認(rèn)請(qǐng)求方法為GET;$useSocket默認(rèn)為0,使用fsockopen方法,如果設(shè)置為1則使用socket_create方法
方法:
open($ip="",$port=-1) //打開同服務(wù)器的連接,默認(rèn)不用設(shè)置這兩個(gè)參數(shù)(一個(gè)同事在linux用的時(shí)候,請(qǐng)求的不是hostname解析的IP,因此加了這兩個(gè)參數(shù),以連接真實(shí)的服務(wù)器IP)
setTimeout($timeout=0) //設(shè)置獲取數(shù)據(jù)的超時(shí)時(shí)間,必須在send方法調(diào)用之前設(shè)置才有效,單位秒,默認(rèn)值0為不限制
setRequestHeader($key,$value="") //設(shè)置請(qǐng)求頭,必須在send方法調(diào)用之前設(shè)置才有效
removeRequestHeader($key,$value="") //移除指定鍵值的請(qǐng)求頭,必須在send方法調(diào)用之前調(diào)用才有效
send($data="") //發(fā)送數(shù)據(jù)$data到服務(wù)器
getResponseBody() //獲取服務(wù)器返回的文本
getAllResponseHeaders() //獲取服務(wù)器響應(yīng)的所有頭信息
getResponseHeader($key) //獲取服務(wù)器響應(yīng)的某個(gè)頭信息,例如Server,Set_Cookie等
屬性:
$url //要請(qǐng)求的url
$method //請(qǐng)求方法(POST/GET)
$port //請(qǐng)求的端口
$hostname //請(qǐng)求的主機(jī)名
$uri //url的文件部分
$protocol //請(qǐng)求協(xié)議(http)(包括本屬性的以上5個(gè)屬性均由程序自動(dòng)通過url分析)
$excption //異常信息
$_headers=array() //請(qǐng)求頭array("key"=>"value")
$_senddata //發(fā)送到服務(wù)器的數(shù)據(jù)
$status //返回的狀態(tài)碼
$statusText //狀態(tài)信息
$HttpProtocolVersion //服務(wù)器的HTTP協(xié)議版本
注意:
Host頭由程序自動(dòng)設(shè)置,當(dāng)用POST方法請(qǐng)求時(shí),Content-Length和Content-Type已被自動(dòng)設(shè)置。
支持gzip壓縮的頁面
php_XmlHttpRequest.rar
//$url為請(qǐng)求的地址;默認(rèn)請(qǐng)求方法為GET;$useSocket默認(rèn)為0,使用fsockopen方法,如果設(shè)置為1則使用socket_create方法
方法:
open($ip="",$port=-1) //打開同服務(wù)器的連接,默認(rèn)不用設(shè)置這兩個(gè)參數(shù)(一個(gè)同事在linux用的時(shí)候,請(qǐng)求的不是hostname解析的IP,因此加了這兩個(gè)參數(shù),以連接真實(shí)的服務(wù)器IP)
setTimeout($timeout=0) //設(shè)置獲取數(shù)據(jù)的超時(shí)時(shí)間,必須在send方法調(diào)用之前設(shè)置才有效,單位秒,默認(rèn)值0為不限制
setRequestHeader($key,$value="") //設(shè)置請(qǐng)求頭,必須在send方法調(diào)用之前設(shè)置才有效
removeRequestHeader($key,$value="") //移除指定鍵值的請(qǐng)求頭,必須在send方法調(diào)用之前調(diào)用才有效
send($data="") //發(fā)送數(shù)據(jù)$data到服務(wù)器
getResponseBody() //獲取服務(wù)器返回的文本
getAllResponseHeaders() //獲取服務(wù)器響應(yīng)的所有頭信息
getResponseHeader($key) //獲取服務(wù)器響應(yīng)的某個(gè)頭信息,例如Server,Set_Cookie等
屬性:
$url //要請(qǐng)求的url
$method //請(qǐng)求方法(POST/GET)
$port //請(qǐng)求的端口
$hostname //請(qǐng)求的主機(jī)名
$uri //url的文件部分
$protocol //請(qǐng)求協(xié)議(http)(包括本屬性的以上5個(gè)屬性均由程序自動(dòng)通過url分析)
$excption //異常信息
$_headers=array() //請(qǐng)求頭array("key"=>"value")
$_senddata //發(fā)送到服務(wù)器的數(shù)據(jù)
$status //返回的狀態(tài)碼
$statusText //狀態(tài)信息
$HttpProtocolVersion //服務(wù)器的HTTP協(xié)議版本
注意:
Host頭由程序自動(dòng)設(shè)置,當(dāng)用POST方法請(qǐng)求時(shí),Content-Length和Content-Type已被自動(dòng)設(shè)置。
支持gzip壓縮的頁面
php_XmlHttpRequest.rar
相關(guān)文章
php實(shí)現(xiàn)有序數(shù)組打印或排序的方法【附Python、C及Go語言實(shí)現(xiàn)代碼】
這篇文章主要介紹了php實(shí)現(xiàn)有序數(shù)組打印或排序的方法,涉及php針對(duì)數(shù)組的遍歷、判斷、構(gòu)造與合并等常用操作技巧,并附帶了Python、C及Go語言的實(shí)現(xiàn)代碼,需要的朋友可以參考下2016-11-11
PHP實(shí)現(xiàn)二維數(shù)組按照指定的字段進(jìn)行排序算法示例
這篇文章主要介紹了PHP實(shí)現(xiàn)二維數(shù)組按照指定的字段進(jìn)行排序算法,涉及php針對(duì)數(shù)組的遍歷、排序等相關(guān)操作技巧,需要的朋友可以參考下2019-04-04
PHP socket 模擬POST 請(qǐng)求實(shí)例代碼
這篇文章主要介紹了 PHP 使用socket 模擬POST的方法,結(jié)合實(shí)例分析了sockets 模擬 POST 常用技巧,需要的朋友可以參考下2016-07-07
php str_replace替換指定次數(shù)的方法詳解
本篇文章主要介紹了php str_replace替換指定次數(shù)的方法,具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-05-05
php中isset與empty函數(shù)的困惑與用法分析
這篇文章主要介紹了php中isset與empty函數(shù)的困惑與用法,結(jié)合實(shí)例形式分析了php中isset與empty函數(shù)的功能、用法、區(qū)別及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2019-07-07
php 批量替換html標(biāo)簽的實(shí)例代碼
這篇文章主要是對(duì)php批量替換html標(biāo)簽的實(shí)例代碼進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-11-11
PHP網(wǎng)站基礎(chǔ)優(yōu)化方法小結(jié)
以下這些基礎(chǔ)技巧可以讓你的PHP網(wǎng)站運(yùn)行得更快一些。2008-09-09

