在某種場合下,常常需要獲取訪問頁面的http狀態碼,而不需要返回頁面的內容。怎麼才能實現這樣的功能呢?請參閱下面關鍵代碼:
[php] <?php
function GetHttpStatusCode($url){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);//獲取內容url
curl_setopt($curl,CURLOPT_HEADER,1);//獲取http頭信息
curl_setopt($curl,CURLOPT_NOBODY,1);//不返回html的body信息
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//返回數據流,不直接輸出
curl_setopt($curl,CURLOPT_TIMEOUT,30); //超時時長,單位秒
curl_exec($curl);
$rtn= curl_getinfo($curl,CURLINFO_HTTP_CODE);
curl_close($curl);
return $rtn;
}
$url="http://www.BkJia.com";
echo GetHttpStatusCode($url);
?>
<?php
function GetHttpStatusCode($url){
$curl = curl_init();
curl_setopt($curl,CURLOPT_URL,$url);//獲取內容url
curl_setopt($curl,CURLOPT_HEADER,1);//獲取http頭信息
curl_setopt($curl,CURLOPT_NOBODY,1);//不返回html的body信息
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);//返回數據流,不直接輸出
curl_setopt($curl,CURLOPT_TIMEOUT,30); //超時時長,單位秒
curl_exec($curl);
$rtn= curl_getinfo($curl,CURLINFO_HTTP_CODE);
curl_close($curl);
return $rtn;
}
$url="http://www.BkJia.com";
echo GetHttpStatusCode($url);
?>
如果百度可正常訪問,當然上面的代碼運行結果是200了。
curl相關的詳細用法,請參閱:http://cn2.php.net/manual/zh/ref.curl.php
摘自 心靈淨土