libcurl返回HTTP状态码

在调用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

未经允许不得转载:紫竹林-程序员中文网 » libcurl返回HTTP状态码
关于我们 免责申明 意见反馈 隐私政策
程序员中文网:公益在线网站,帮助学习者快速成长!
关注微信 技术交流
推荐文章
每天精选资源文章推送
推荐文章
随时随地碎片化学习
推荐文章
发现有趣的