在某种场合下,常常需要获取访问页面的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如何获取网页内容