Ich verwende PHP- curl
Funktionen , um Daten von meinem lokalen Computer auf den Webserver zu übertragen. Mein Code lautet wie folgt:
$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);
Leider kann ich keine Fehler wie 404, 500 oder Netzwerkfehler erkennen. Wie erfahre ich also, dass Daten nicht auf der Fernbedienung veröffentlicht oder von dieser abgerufen wurden?
curl_exec()
Rückgabe falsch ist, gibt diecurl_error()
Rückgabe dann eine Nachricht aus?curl_setopt($ch,CURLOPT_FAILONERROR,true);
Wenn dies der Fall
CURLOPT_FAILONERROR
istfalse
, lösen http-Fehler keinecurl
Fehler aus.quelle
Sie können nach der Ausführung einen Curl-Fehler generieren
und hier sind Curl-Fehlercode
quelle
Da Sie daran interessiert sind, netzwerkbezogene Fehler und HTTP-Fehler abzufangen, bietet Folgendes einen besseren Ansatz:
Tests:
quelle
quelle