2011-08-15 127 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

看到了,只是沒有看到任何方法來確定它爲什麼失敗。 –