CURLINFO_RESPONSE_CODE
Übergeben Sie einen Zeiger auf einen Long, um den zuletzt empfangenen HTTP- oder FTP-Code zu erhalten. Dies
Die Option war in libcurl 7.10.7 und früheren Versionen als CURLINFO_HTTP_CODE bekannt. Dies
wird Null sein, wenn kein Server-Antwortcode empfangen wurde. Beachten Sie, dass a
Die CONNECT-Antwort des Proxys sollte mit CURLINFO_HTTP_CONNECTCODE gelesen werden
und nicht das.
Die andere Antwort ist absolut richtig, aber ich möchte auch hinzufügen, dass es möglicherweise nicht ratsam ist, den Fehlercode von Hand zu überprüfen. Der 200Code ist nicht der einzige Code, der Erfolg anzeigt.
Ich würde empfehlen, die libcurl-Option CURLOPT_FAILONERROR zu verwenden , die bei Aktivierung dazu führt, dass libcurl den Status " -category" als Anforderungsfehler betrachtet 400und 500nicht CURLE_OKvon "perform" zurückkehrt.
Als Erweiterung dazu gibt es abhängig von den eingestellten Optionen andere Codes, die nicht der Serie "200" entsprechen und erfolgreich sind, wenn auch mit dem Verständnis, dass mehr Arbeit erforderlich ist. Zwei der bekanntesten sind 301 und 302. Sicherlich kann es sich um eine Kräuselung handeln Richten Sie diese automatisch ein, aber es kann Fälle geben, in denen die Anwendung sie möglicherweise selbst verarbeiten möchte. Eine Möglichkeit besteht darin, dass https: // für die Clientauthentifizierung verwendet wird und für das Ziel des 301/302-Ergebnisses eine vollständig neue Zertifikatkette erforderlich ist.
Antworten:
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
quelle
Die andere Antwort ist absolut richtig, aber ich möchte auch hinzufügen, dass es möglicherweise nicht ratsam ist, den Fehlercode von Hand zu überprüfen. Der
200
Code ist nicht der einzige Code, der Erfolg anzeigt.Ich würde empfehlen, die libcurl-Option CURLOPT_FAILONERROR zu verwenden , die bei Aktivierung dazu führt, dass libcurl den Status " -category" als Anforderungsfehler betrachtet
400
und500
nichtCURLE_OK
von "perform" zurückkehrt.quelle