在调用curl_easy_perform后,如何获得HTTP状态码(例如200或500)?
名称
CURLINFO_RESPONSE_CODE - 获取最后的响应码
概要
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *handle, CURLINFO_RESPONSE_CODE, long *codep);
描述
将指针传递给 long 以接收最后接收到的 HTTP、FTP、SMTP 或 LDAP(仅限 OpenLDAP)响应代码。此选项以前在 libcurl 7.10.7 及更早版本中称为 CURLINFO_HTTP_CODE。如果没有收到服务器响应代码,则存储的值将为零。请注意,应该使用CURLINFO_HTTP_CONNECTCODE而不是这个来读取代理的 CONNECT 响应。
协议
HTTP、FTP、SMTP 和 LDAP
例子
CURL *curl = curl_easy_init();
if(curl) {
CURLcode res;
curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");
res = curl_easy_perform(curl);
if(res == CURLE_OK) {
long response_code;
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &response_code);
}
curl_easy_cleanup(curl);
}
可用性
添加于 7.10.8。CURLINFO_HTTP_CODE 是在 7.4.1 中添加的。在 7.25.0 中添加了对 SMTP 响应的支持,在 7.81.0 中添加了对 OpenLDAP 的支持。
返回值
如果支持该选项,则返回CURLE_OK ,否则返回CURLE_UNKNOWN_OPTION