Làm cách nào để nhận mã trạng thái HTTP (ví dụ: 200 hoặc 500) sau khi gọi curl_easy_perform?Mã trạng thái Http với libcurl?
76
A
Trả lời
113
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
}
1
Câu trả lời khác là hoàn toàn đúng, nhưng tôi cũng muốn nói thêm rằng nó có thể không được khôn ngoan để kiểm tra mã lỗi bằng tay, mã 200
không phải là duy nhất mã có nghĩa là thành công.
Tôi muốn recoment sử dụng tùy chọn libcurl CURLOPT_FAILONERROR rằng khi kích hoạt sẽ làm cho libcurl xem xét 400
và 500
trạng thái -Danh mục một thất bại yêu cầu và sẽ không quay trở lại CURLE_OK
từ thực hiện.
câu hỏi hay. một số khác có thể là, cách nhận thông báo trạng thái .. :) – mykhal