Я использую функции PHPcurl
для публикации данных на веб-сервере с моего локального компьютера. Мой код выглядит следующим образом:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, $url);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($c);
if (curl_exec($c) === false) {
echo "ok";
} else {
echo "error";
}
curl_close($c);
К сожалению, я не могу отловить ошибки, такие как 404, 500 или сбой сети. Так как я узнаю, что данные не были отправлены или получены с пульта?
curl_exec()
возвращение false,curl_error()
возвращает ли какое-либо сообщение?curl_setopt($ch,CURLOPT_FAILONERROR,true);
Если
CURLOPT_FAILONERROR
естьfalse
, ошибки http не будут вызыватьcurl
ошибки.источник
вы можете генерировать ошибку curl после ее выполнения
и вот код ошибки curl
источник
Поскольку вы заинтересованы в обнаружении ошибок, связанных с сетью, и ошибок HTTP, следующий подход обеспечивает лучший подход:
тесты:
источник
источник