opt - libcurl tutorial
Http código de estado con libcurl? (2)
La otra respuesta es absolutamente correcta, pero también me gustaría añadir que podría no ser conveniente verificar el código de error a mano, el código 200
no es el único que significa éxito.
Recomendaría usar la opción libcurl CURLOPT_FAILONERROR que cuando se active hará que libcurl considere 400
y 500
-category status como una solicitud fallida y no devolverá CURLE_OK
de la ejecución.
¿Cómo obtengo el código de estado HTTP (por ejemplo, 200 o 500) después de llamar a curl_easy_perform?
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
CURLINFO_RESPONSE_CODE Pass a pointer to a long to receive the last received HTTP or FTP code. This option was known as CURLINFO_HTTP_CODE in libcurl 7.10.7 and earlier. This will be zero if no server response code has been received. Note that a proxy''s CONNECT response should be read with CURLINFO_HTTP_CONNECTCODE and not this.
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
}