在某种场合下,常常需要获取访问页面的http状态码,而不需要返回页面的内容。怎么才能实现这样的功能呢?请参阅下面关键代码:
<?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.baidu.com";
echo GetHttpStatusCode($url);
?>
如果百度可正常访问,当然上面的代码运行结果是200了。
curl相关的详细用法,请参阅:http://cn2.php.net/manual/zh/ref.curl.php
曾写过一个c#版本的获取网页内容的blog:.net如何获取网页内容
本文介绍了一个使用PHP实现的函数,用于从指定URL获取HTTP状态码,而不返回页面内容。
1314

被折叠的 条评论
为什么被折叠?



