Saya menggunakan fungsi PHPcurl
untuk mengirim data ke server web dari mesin lokal saya. Kode saya adalah sebagai berikut:
$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);
Sayangnya saya tidak dapat menangkap kesalahan seperti 404, 500 atau kegagalan jaringan. Jadi bagaimana saya bisa tahu bahwa data tidak diposting atau diambil dari jarak jauh?
curl_exec()
pengembalian salah, apakahcurl_error()
mengembalikan pesan?curl_setopt($ch,CURLOPT_FAILONERROR,true);
Jika
CURLOPT_FAILONERROR
adalahfalse
, http kesalahan tidak akan memicucurl
kesalahan.sumber
Anda dapat membuat kesalahan ikal setelah dijalankan
dan di sini adalah kode kesalahan keriting
sumber
Karena Anda tertarik untuk menangkap kesalahan terkait jaringan dan kesalahan HTTP, berikut ini memberikan pendekatan yang lebih baik:
Tes:
sumber
sumber