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