当前位置: 首页 > 工具软件 > easy-retry > 使用案例 >

libcurl - curl_easy_getinfo - 从 curl 句柄中提取信息 - 可用信息

乌翔
2023-12-01

1.可用信息

可以提取以下信息:
CURLINFO_EFFECTIVE_METHOD
最后使用的 HTTP 方法。见CURLINFO_EFFECTIVE_METHOD
CURLINFO_EFFECTIVE_URL
上次使用的网址。见CURLINFO_EFFECTIVE_URL
CURLINFO_RESPONSE_CODE
最后收到的响应代码。见CURLINFO_RESPONSE_CODE
CURLINFO_REFERER
推荐人标头。见CURLINFO_REFERER
CURLINFO_HTTP_CONNECTCODE
最后一个代理 CONNECT 响应代码。请参阅CURLINFO_HTTP_CONNECTCODE
CURLINFO_HTTP_VERSION
连接中使用的 http 版本。见CURLINFO_HTTP_VERSION
CURLINFO_FILETIME
检索到的文档的远程时间。见CURLINFO_FILETIME
CURLINFO_FILETIME_T
检索到的文档的远程时间。见CURLINFO_FILETIME_T
CURLINFO_TOTAL_TIME
上一次传输的总时间。请参阅CURLINFO_TOTAL_TIME
CURLINFO_TOTAL_TIME_T
上一次传输的总时间。见CURLINFO_TOTAL_TIME_T
CURLINFO_NAMELOOKUP_TIME
从开始到名称解析完成的时间。见CURLINFO_NAMELOOKUP_TIME
CURLINFO_NAMELOOKUP_TIME_T
从开始到名称解析完成的时间。见CURLINFO_NAMELOOKUP_TIME_T
CURLINFO_CONNECT_TIME
从开始到远程主机或代理完成的时间。见CURLINFO_CONNECT_TIME
CURLINFO_CONNECT_TIME_T
从开始到远程主机或代理完成的时间。见CURLINFO_CONNECT_TIME_T
CURLINFO_APPCONNECT_TIME
从开始到 SSL/SSH 握手完成的时间。见CURLINFO_APPCONNECT_TIME
CURLINFO_APPCONNECT_TIME_T
从开始到 SSL/SSH 握手完成的时间。见CURLINFO_APPCONNECT_TIME_T
CURLINFO_PRETRANSFER_TIME
从开始到传输开始之前的时间。见CURLINFO_PRETRANSFER_TIME
CURLINFO_PRETRANSFER_TIME_T
从开始到传输开始之前的时间。请参阅CURLINFO_PRETRANSFER_TIME_T
CURLINFO_STARTTRANSFER_TIME
从开始到接收到第一个字节的时间。请参阅CURLINFO_STARTTRANSFER_TIME
CURLINFO_STARTTRANSFER_TIME_T
从开始到接收到第一个字节的时间。请参阅CURLINFO_STARTTRANSFER_TIME_T
CURLINFO_REDIRECT_TIME
最终传输前所有重定向步骤所用的时间。见CURLINFO_REDIRECT_TIME
CURLINFO_REDIRECT_TIME_T
最终传输前所有重定向步骤所用的时间。见CURLINFO_REDIRECT_TIME_T
CURLINFO_REDIRECT_COUNT
遵循的重定向总数。请参阅CURLINFO_REDIRECT_COUNT
CURLINFO_REDIRECT_URL
如果您启用了重定向,重定向将带您到 URL。请参阅CURLINFO_REDIRECT_URL
CURLINFO_SIZE_UPLOAD
(已弃用)上传的字节数。见CURLINFO_SIZE_UPLOAD
CURLINFO_SIZE_UPLOAD_T
上传的字节数。见CURLINFO_SIZE_UPLOAD_T
CURLINFO_SIZE_DOWNLOAD
(不推荐)下载的字节数。见CURLINFO_SIZE_DOWNLOAD
CURLINFO_SIZE_DOWNLOAD_T
下载的字节数。见CURLINFO_SIZE_DOWNLOAD_T
CURLINFO_SPEED_DOWNLOAD
(已弃用)平均下载速度。见CURLINFO_SPEED_DOWNLOAD
CURLINFO_SPEED_DOWNLOAD_T
平均下载速度。见CURLINFO_SPEED_DOWNLOAD_T
CURLINFO_SPEED_UPLOAD
(已弃用)平均上传速度。见CURLINFO_SPEED_UPLOAD
CURLINFO_SPEED_UPLOAD_T
平均上传速度。见CURLINFO_SPEED_UPLOAD_T
CURLINFO_HEADER_SIZE
接收到的所有标头的字节数。见CURLINFO_HEADER_SIZE
CURLINFO_REQUEST_SIZE
发出的 HTTP 请求中发送的字节数。见CURLINFO_REQUEST_SIZE
CURLINFO_SSL_VERIFYRESULT
证书验证结果。见CURLINFO_SSL_VERIFYRESULT
CURLINFO_PROXY_ERROR
详细的代理错误。见CURLINFO_PROXY_ERROR
CURLINFO_PROXY_SSL_VERIFYRESULT
代理证书验证结果。见CURLINFO_PROXY_SSL_VERIFYRESULT
CURLINFO_SSL_ENGINES
OpenSSL 加密引擎列表。见CURLINFO_SSL_ENGINES
CURLINFO_CONTENT_LENGTH_DOWNLOAD
(已弃用)来自 Content-Length 标头的内容长度。请参阅CURLINFO_CONTENT_LENGTH_DOWNLOAD
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
来自 Content-Length 标头的内容长度。请参阅CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
CURLINFO_CONTENT_LENGTH_UPLOAD
(已弃用)上传大小。请参阅CURLINFO_CONTENT_LENGTH_UPLOAD
CURLINFO_CONTENT_LENGTH_UPLOAD_T
上传大小。见CURLINFO_CONTENT_LENGTH_UPLOAD_T
CURLINFO_CONTENT_TYPE
Content-Type 标头中的内容类型。见CURLINFO_CONTENT_TYPE
CURLINFO_RETRY_AFTER
来自 Retry-After 标头的值。见CURLINFO_RETRY_AFTER
CURLINFO_PRIVATE
用户的私有数据指针。见CURLINFO_PRIVATE
CURLINFO_HTTPAUTH_AVAIL
可用的 HTTP 身份验证方法。请参阅CURLINFO_HTTPAUTH_AVAIL
CURLINFO_PROXYAUTH_AVAIL
可用的 HTTP 代理身份验证方法。见CURLINFO_PROXYAUTH_AVAIL
CURLINFO_OS_ERRNO
上次连接失败的 errno。见CURLINFO_OS_ERRNO
CURLINFO_NUM_CONNECTS
用于先前传输的新成功连接数。见CURLINFO_NUM_CONNECTS
CURLINFO_PRIMARY_IP
最后一次连接的 IP 地址。见CURLINFO_PRIMARY_IP
CURLINFO_PRIMARY_PORT
最后一个连接的端口。见CURLINFO_PRIMARY_PORT
CURLINFO_LOCAL_IP
最后一次连接的本端IP地址。请参阅CURLINFO_LOCAL_IP
CURLINFO_LOCAL_PORT
上次连接的本端端口。见CURLINFO_LOCAL_PORT
CURLINFO_COOKIELIST
所有已知 cookie 的列表。见CURLINFO_COOKIELIST
CURLINFO_LASTSOCKET
最后使用的套接字。见CURLINFO_LASTSOCKET
CURLINFO_ACTIVESOCKET
会话的活动套接字。见CURLINFO_ACTIVESOCKET
CURLINFO_FTP_ENTRY_PATH
登录FTP服务器后的入口路径。见CURLINFO_FTP_ENTRY_PATH
CURLINFO_CAPATH
获取CURLOPT_CAPATH的默认值。见CURLINFO_CAPATH
CURLINFO_CAINFO
获取CURLOPT_CAINFO的默认值。见CURLINFO_CAINFO
CURLINFO_CERINFO
证书链。见CURLINFO_CERTINFO
CURLINFO_TLS_SSL_PTR
可用于进一步处理的 TLS 会话信息。见CURLINFO_TLS_SSL_PTR
CURLINFO_TLS_SESSION
可用于进一步处理的 TLS 会话信息。请参阅CURLINFO_TLS_SESSION。不推荐使用的选项,请改用CURLINFO_TLS_SSL_PTR!
CURLINFO_CONDITION_UNMET
是否满足时间条件或 304 HTTP 响应。见CURLINFO_CONDITION_UNMET
CURLINFO_RTSP_SESSION_ID
RTSP 会话 ID。请参阅CURLINFO_RTSP_SESSION_ID
CURLINFO_RTSP_CLIENT_CSEQ
接下来将使用的 RTSP CSeq。见CURLINFO_RTSP_CLIENT_CSEQ
CURLINFO_RTSP_SERVER_CSEQ
预计接下来的 RTSP CSeq。见CURLINFO_RTSP_SERVER_CSEQ
CURLINFO_RTSP_CSEQ_RECV
上次收到 RTSP CSeq。见CURLINFO_RTSP_CSEQ_RECV
CURLINFO_PROTOCOL
用于连接的协议。(在 7.52.0 中添加)参见CURLINFO_PROTOCOL
CURLINFO_SCHEME
用于连接的方案。(在 7.52.0 中添加)参见CURLINFO_SCHEME

2.范例代码

curl = curl_easy_init();
  if(curl) {
    curl_easy_setopt(curl, CURLOPT_URL, "https://www.example.com/");
    res = curl_easy_perform(curl);
 
    if(CURLE_OK == res) {
      char *ct;
      /* ask for the content-type */
      res = curl_easy_getinfo(curl, CURLINFO_CONTENT_TYPE, &ct);
 
      if((CURLE_OK == res) && ct)
        printf("We received Content-Type: %s\n", ct);
    }
 
    /* always cleanup */
    curl_easy_cleanup(curl);
  }

3.作者答疑

如有疑问,敬请留言。

 类似资料: