$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是否失败。
问题哪个更好?
curl或file_get_contents($ url)?
答案 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