目前,我正在使用以下代码来检测链接是否失效:
function is_available($url, $timeout = 30) {
$ch = curl_init();
$opts = array(CURLOPT_RETURNTRANSFER => true, CURLOPT_URL => $url, CURLOPT_NOBODY => true, CURLOPT_TIMEOUT => $timeout);
curl_setopt_array($ch, $opts);
curl_exec($ch);
$retval = curl_getinfo($ch, CURLINFO_HTTP_CODE) == 200;
curl_close($ch);
return $retval;
}
但是这段代码占用了太多带宽。是否有可能以占用更少带宽的方式制作它?
使用这些来执行HEAD
请求,而不仅仅是返回标头,而不是响应正文,从而减少带宽:
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);