批量检查http状态代码而不下载页面

时间:2013-06-10 12:03:33

标签: php curl

我的mysql数据库中有大约10000个url ..我想检查这些页面是否存在使用php。

重点是我不想浪费我的带宽。

是否可以仅检查http状态代码?

这是我目前的卷曲代码?

$http = curl_init($url);
$result = curl_exec($http);
$http_status = curl_getinfo($http, CURLINFO_HTTP_CODE);
curl_close($http);
echo $http_status;

1 个答案:

答案 0 :(得分:3)

使用以下cURL options发出HEAD请求:

CURLOPT_HEADER => true,
CURLOPT_NOBODY => true,
CURLOPT_CUSTOMREQUEST => 'HEAD',

你也可以使用:

CURLOPT_FAILONERROR => true,

每当返回错误的HTTP代码时,curl_exec都返回false。

如果您有10,000个网址并且这是一项重复性任务,您可能需要查看curl_multi_*个函数并分批处理4个,8个或类似的URL。加速很快。