Code d’état HTTP avec libcurl?

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

 Passer un pointeur sur une longue pour recevoir le dernier code HTTP ou FTP reçu.  Ce
 L'option était connue sous le nom de CURLINFO_HTTP_CODE dans libcurl 7.10.7 et versions antérieures.  Ce 
 sera zéro si aucun code de réponse du serveur n'a été reçu.  Notez qu'un 
 La réponse CONNECT du proxy doit être lue avec CURLINFO_HTTP_CONNECTCODE 
 et pas ça. 
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 tout à fait correcte, mais je voudrais également append qu’il n’est peut-être pas judicieux de vérifier le code d’erreur à la main, le code 200 n’étant pas le seul à indiquer le succès.

Je recommande d’utiliser l’option libcurl CURLOPT_FAILONERROR qui, une fois activée, fera que les états de la catégorie 400 et 500 -category seront un échec de la requête et ne renverra pas CURLE_OK de perform.