PHP使用cURL時對404的判別方法

使用cURL時,假如使用以下代碼

if( curl_exec($ch) ){
    //success
} else {
    //error
}

就算那個網頁404,都會跑去success那邊。

需要使用以下設置

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_FAILONERROR, TRUE); //處理失敗判斷
$onlineData = curl_exec($ch);

if( curl_exec($ch) ){
    //success
} else {
    //error
}

就能解決。

因為設置 CURLOPT_FAILONERROR 為 TRUE時,使用curl返回的http狀態碼大於400都會判定為處理失敗。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *