Comment puis-je obtenir le code d'état HTTP (par exemple 200 ou 500) après avoir appelé curl_easy_perform?
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
CURLINFO_RESPONSE_CODE Passez un pointeur sur un long pour recevoir le dernier code HTTP ou FTP reçu. Cette option Était connue sous le nom de CURLINFO_HTTP_CODE dans libcurl 7.10.7 et versions antérieures. Ce Sera nul si aucun code de réponse du serveur n'a été reçu. Notez que la réponse CONNECT d'un proxy Doit être lue avec CURLINFO_HTTP_CONNECTCODE Et non pas ceci.
curl_code = curl_easy_perform (session);
long http_code = 0;
curl_easy_getinfo (session, CURLINFO_RESPONSE_CODE, &http_code);
if (http_code == 200 && curl_code != CURLE_ABORTED_BY_CALLBACK)
{
//Succeeded
}
else
{
//Failed
}
L'autre réponse est absolument correcte, mais je voudrais également ajouter qu'il n'est peut-être pas judicieux de vérifier le code d'erreur à la main, le 200
le code n'est pas le seul code qui signifie le succès.
Je recommanderais d'utiliser l'option libcurl CURLOPT_FAILONERROR que lorsqu'il est activé, libcurl considérera 400
et 500
-category signale un échec de la demande et ne retournera pas CURLE_OK
de performer.