首页 > 其他分享 >libcurl 调用 curl_easy_getinfo( ) 返回错误码对照

libcurl 调用 curl_easy_getinfo( ) 返回错误码对照

时间:2022-09-29 20:46:45浏览次数:90  
标签:getinfo libcurl CURLINFO 错误码 easy TIME curl SIZE

curl_easy_getinfo() 函数原型声明如下:

#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );

https://curl.se/libcurl/c/curl_easy_getinfo.html

使用该函数可以在请求curl 会话中的相关信息。

注意,第 3 个参数必须是一个 long 型,或char型,或curl_slist型,或是double型的指针。

函数所请求信息只有在函数返回 CURLE_OK 时才会被有效填充,该函数一般用在 perform 函数(如 curl_easy_perform() )之后。

 

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);
}

info这个参数可能是以下常量之一:

  • CURLINFO_EFFECTIVE_URL - 最后一个有效的URL地址
  • CURLINFO_HTTP_CODE - 最后一个收到的HTTP代码
  • CURLINFO_RESPONSE_CODE 上次收到的响应代码
  • CURLINFO_FILETIME - 远程获取文档的时间,如果无法获取,则返回值为“-1”
  • CURLINFO_TOTAL_TIME - 最后一次传输所消耗的时间
  • CURLINFO_NAMELOOKUP_TIME - 名称解析所消耗的时间
  • CURLINFO_CONNECT_TIME - 建立连接所消耗的时间
  • CURLINFO_PRETRANSFER_TIME - 从建立连接到准备传输所使用的时间
  • CURLINFO_STARTTRANSFER_TIME - 从建立连接到传输开始所使用的时间
  • CURLINFO_REDIRECT_TIME - 在事务传输开始前重定向所使用的时间
  • CURLINFO_SIZE_UPLOAD - 以字节为单位返回上传数据量的总值
  • CURLINFO_SIZE_DOWNLOAD - 以字节为单位返回下载数据量的总值
  • CURLINFO_SPEED_DOWNLOAD - 平均下载速度
  • CURLINFO_SPEED_UPLOAD - 平均上传速度
  • CURLINFO_HEADER_SIZE - header部分的大小
  • CURLINFO_HEADER_OUT - 发送请求的字符串
  • CURLINFO_REQUEST_SIZE - 在HTTP请求中有问题的请求的大小
  • CURLINFO_SSL_VERIFYRESULT - 通过设置CURLOPT_SSL_VERIFYPEER返回的SSL证书验证请求的结果
  • CURLINFO_CONTENT_LENGTH_DOWNLOAD - 从Content-Length: field中读取的下载内容长度
  • CURLINFO_CONTENT_LENGTH_UPLOAD - 上传内容大小的说明
  • CURLINFO_CONTENT_TYPE - 下载内容的Content-Type:值,NULL表示服务器没有发送有效的Content-Type:header

标签:getinfo,libcurl,CURLINFO,错误码,easy,TIME,curl,SIZE
From: https://www.cnblogs.com/ink-white/p/16742962.html

相关文章