Bagaimana cara mendapatkan kode status HTTP (misalnya 200 atau 500) setelah memanggil curl_easy_perform?
Jawaban:
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
CURLINFO_RESPONSE_CODE Lewati pointer ke long untuk menerima kode HTTP atau FTP yang terakhir diterima. Ini Opsi ini dikenal sebagai CURLINFO_HTTP_CODE di libcurl 7.10.7 dan yang lebih lama. Ini akan menjadi nol jika tidak ada kode respon server yang diterima. Perhatikan bahwa a tanggapan CONNECT proxy harus dibaca dengan CURLINFO_HTTP_CONNECTCODE dan bukan ini.
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
}
Jawaban lain benar-benar benar, tetapi saya juga ingin menambahkan bahwa mungkin tidak bijaksana untuk memeriksa kode kesalahan dengan tangan, 200
kode tersebut bukan satu-satunya kode yang menandakan kesuksesan.
Saya akan merekomendasikan penggunaan opsi libcurl CURLOPT_FAILONERROR yang ketika diaktifkan akan membuat libcurl mempertimbangkan 400
dan 500
status -kategori permintaan gagal dan tidak akan kembali CURLE_OK
dari perform.