使用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都會判定為處理失敗。
