tutorial opt example easy curl_easy_setopt c http libcurl

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 }