2011-08-15 7 views
0

私はこのcURLの操作をデバッグしようとしています。 var_dump()が返されますbool(false)cURL try catchの問題

この場合、どのように試行を終了できますか?

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が返されたときに例外をスローしてみませんか?

すなわち

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

理にかなって、偽のは、実際には、この文脈では何を意味するのでしょうか?私は初めてです。 –

+0

ここを見てください:http://www.php.net/manual/en/function.curl-exec.php;基本的に、falseは操作が失敗したことを意味します。 – Jan

+0

それは、なぜそれが失敗したのかを判断するための方法は見当たりませんでした。 –