Как я могу обнаружить ошибку URL Not Found в php curl?
Как я могу обнаружить эту ошибку, используя php curl? curl возвращает успех, даже если URL не существует.
Not Found
The requested URL /foo/index.php/items/edit was not found on this server.
Мой код
$post_fields = array('info' => json_encode($fields));
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_POST,count($post_fields));
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_fields);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLINFO_CONTENT_TYPE,'application/x-www-form-urlencoded charset=utf-8');
$result = curl_exec($ch);
echo $result;
if(curl_error($ch)){
$result = curl_error($ch);
curl_close($ch);
return $result;
}else{
curl_close($ch);
return json_decode($result,true);
}
1 ответ
Решение
Используйте это, чтобы получить код состояния HTTP:
$code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
Если 404, это означает, что URL-адрес запроса не может быть найден.
Примечание: не забудьте выдать эту строку раньше curl_close($ch);