Answers:
http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html
CURLINFO_RESPONSE_CODE 将指针传递给long以接收最后收到的HTTP或FTP代码。这个 该选项在libcurl 7.10.7及更早版本中称为CURLINFO_HTTP_CODE。这个 如果未收到服务器响应代码,则为零。请注意 代理的CONNECT响应应使用CURLINFO_HTTP_CONNECTCODE读取 不是这个。
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
}
另一个答案是绝对正确的,但是我还要补充一点,手工检查错误代码可能并不明智,因为该200
代码不是唯一表示成功的代码。
我建议使用libcurl选项CURLOPT_FAILONERROR,该选项在激活时将使libcurl考虑400
和500
-category状态请求失败,并且不会CURLE_OK
从执行返回。