2011-08-15 74 views
0

我试图调试这个cURL -operation。 var_dump()正在返回bool(false)cURL尝试捕获问题

如何在该情况下退出尝试?

function parse($url, $headonly = TRUE){ 
    $agents = 'Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16'; 
    try 
    { 
     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_HEADER, 0); 
     curl_setopt($ch, CURLOPT_VERBOSE, FALSE); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
     curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); 
     curl_setopt($ch, CURLOPT_USERAGENT, $agents); 
     curl_setopt($ch, CURLOPT_URL, $url); 
     $curlResp = curl_exec($ch); 
     curl_close($ch); 
     var_dump($curlResp); //RETURNS bool(false) 
     die; 

     $resp = str_replace("class=l","class='l'",$curlResp); 
     return $resp; 
    } 
    catch(Exception $e) 
    { 
     $strResponse = ""; 
     $strErrorCode = $e->getCode(); 
     $strErrorMessage = $e->getMessage(); 
     print_r($arrCurlInfo, $strErrorCode, $strErrorMessage); 
     die; 
    } //end catch 
} 

回答

3

为什么不在返回false时尝试抛出Exception?

if ($curlResp === FALSE) { 
    throw new Exception(); 
} 
+1

有道理,什么是假的其实在这方面是什么意思?我是cURL的新手 –

+0

请看这里:http://www.php.net/manual/en/function.curl-exec.php;基本上,错误意味着操作失败。 – Jan

+0

看到了,只是没有看到任何方法来确定它为什么失败。 –