curl刮页如果失败

时间:2014-07-03 12:18:13

标签: php curl

$url = 'http://example.com';
$site = curl_init($url);
curl_setopt($site, CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($site);

if(FALSE){//DO SOMETHING}

我尝试使用curl scrape页面,但是我需要检测url是否失败。

  1. 问题哪个更好?

    curl或file_get_contents($ url)?

2 个答案:

答案 0 :(得分:1)

如果没有file_get_contents,也许更容易做到。

$siteContent = file_get_contents("http://example.com");

if($siteContent) {
   // do something
}

如果您需要更多选项或帖子,则必须使用curl。为此,您必须将php.ini中的选项allow_url_fopen设置为On

答案 1 :(得分:1)

您可以使用http状态代码检查它是否是有效的响应:

$url = 'http://example.com';
$siteCurl = curl_init($url);
curl_setopt($siteCurl , CURLOPT_RETURNTRANSFER, true);
$site = curl_exec($siteCurl);

$result = curl_exec($siteCurl );
$http_status = curl_getinfo($http, CURLINFO_HTTP_CODE);

if($http_status != "200"){//DO SOMETHING}

如果您不确定,请在此处查看http代码:http://www.w3.org/Protocols/HTTP/HTRESP.html