libcurl入门之相关接口函数curl_easy_getinfo
名称 curl_easy_getinfo
原型
#include <curl/curl.h>
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );
描述
使用这个函数从curl会话请求内部信息。第三个参数必须是一个long变量,一个指向char *的指针,一个指向struct curl_slist *指针或者一个指向double的指针(就像本文档下面将要描述的那样)。当这个函数返回CURL_OK时,这个被指向的数据会被相应的填充。
不用对这个函数返回的内存进行释放(free),除非在下面被特殊的强调。
有效的INFO
下面的信息可以被截取(有很多,可以去英文网站去看,有对应的示例代码):
CURLINFO_HTTP_VERSION 获取在连接时候使用的http版本。
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 http_version;curl_easy_getinfo(curl, CURLINFO_HTTP_VERSION, &http_version);}curl_easy_cleanup(curl);
}
CURLINFO_TOTAL_TIME 获取前一个传输的执行总时间
curl = curl_easy_init();
if(curl) {double total;curl_easy_setopt(curl, CURLOPT_URL, url);res = curl_easy_perform(curl);if(CURLE_OK == res) {res = curl_easy_getinfo(curl, CURLINFO_TOTAL_TIME, &total);if(CURLE_OK == res) {printf("Time: %.1f", total);}}/* always cleanup */curl_easy_cleanup(curl);
}
CURLINFO_CONNECT_TIME 获取connet从开始到完成的时间
curl = curl_easy_init();
if(curl) {double connect;curl_easy_setopt(curl, CURLOPT_URL, url);res = curl_easy_perform(curl);if(CURLE_OK == res) {res = curl_easy_getinfo(curl, CURLINFO_CONNECT_TIME, &connect);if(CURLE_OK == res) {printf("Time: %.1f", connect);}}/* always cleanup */curl_easy_cleanup(curl);
}
CURLINFO_SPEED_UPLOAD_T 获取上传速度,单位bytes/second
CURL *curl = curl_easy_init();
if(curl) {curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");/* Perform the request */res = curl_easy_perform(curl);if(!res) {curl_off_t speed;res = curl_easy_getinfo(curl, CURLINFO_SPEED_UPLOAD_T, &speed);if(!res) {printf("Upload speed %" CURL_FORMAT_CURL_OFF_T " bytes/sec\n", speed);}}
}
关于时间
可以从curl_easy_getinfo()获取下面看到的6个时间值
curl_easy_perform()||--NAMELOOKUP|--|--CONNECT|--|--|--APPCONNECT|--|--|--|--PRETRANSFER|--|--|--|--|--STARTTRANSFER|--|--|--|--|--|--TOTAL|--|--|--|--|--|--REDIRECT
返回值
如果操作成功,返回CURLE_OK
libcurl入门之相关接口函数curl_easy_getinfo相关推荐
- libcurl入门之相关接口函数curl_easy_setopt
名称 curl_easy_setopt 原型 #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLopti ...
- libcurl入门之相关接口函数curl_easy_cleanup
名称 curl_easy_cleanup 原型 #include <curl/curl.h> void curl_easy_cleanup(CURL *handle); 描述 这个函数必须 ...
- libcurl入门之相关接口函数curl_global_init/cleanup
名称:curl_global_init 原型 #include <curl/curl.h> CURLcode curl_global_init(long flags); 描述 这个函数设置 ...
- 线程及其相关接口函数(Linux)
目录 一.线程 1.线程相关接口函数 (1)创建线程 pthread_create() (2)结束线程 pthread_exit() (3)等待进程 pthread_join() 2.线程间通信 (1 ...
- System V 消息队列(一)—— 消息队列相关接口函数(msgget / msgctl)
SystemV方案是在OS内核层面专门为进程间通信设计的一个方案,然后通过系统调用(system call)给用户提供通信接口.SystemV方案包含三种:共享内存.消息队列.信号量. 和System ...
- C++ 接口 函数导出_Matlab与C/C++混合编程、Visual C++与Matlab封装库互相调用相关要点...
[版本说明] Visual Studio 2010 Matlab2014a 64bit Windows7 64bit 以下是我安装的 Matlab2014a 支持的 C++混合编译器的SDK版本(为了 ...
- linux路由相关函数,Linux 路由 学习笔记 之十一 输入、输出路由查找相关的接口函数...
对于路由功能模块的学习,也已经很长时间了.关于路由项的创建与查找.策略规则相关的创建与查找.路由缓存的创建与查找,都是分开来分析的,没有说明这些模块是如何配合使用的,以及模块之间的联系.本节就分析一下 ...
- WinCE中串口驱动及接口函数介绍(转载)
作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分为MDD层和PDD层.MDD层对上层的Device Manager提供了标准的流设备驱动接口( ...
- java hook 框架_hook框架-frida简单使用模板以及frida相关接口
一目录结构 ├── test.py #py脚本 └── test.js #js脚本 一.py脚本 test.py import frida import sys #连接设备app dev=frida. ...
- 【转载】WinCE中串口驱动及接口函数介绍
转载自:http://blog.csdn.net/nanjianhui/article/details/2627755 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图: 串口驱动本身分 ...
最新文章
- c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...
- kali python3安装scapy库_Kali-Python scapy模块-扫描
- collections模块简介
- HDU-1258 Sum It Up DFS
- MyBatisPlus查询方法selectById、selectOne、selectBatchIds、selectByMap、selectPage的使用
- SGU 294 He's Circles (polay计数)
- 3-2 文件夹类Directory的常用方法(2)
- 自动修改mysql5.7初始化密码
- vs201检查更新不成功_Kubernetes玩转Pod滚动更新123
- 那一年,创业 vs 阿里(下):阿里篇
- 计算机网络—五层知识架构图
- wifi mesh测试软件,「可能是」最适合我的Mesh+WiFi6方案:Linksys Velop MX10600体验分享...
- 调查称82%网友面对安全问题无从下手
- 如何解决Unity高版本使用EasyTouch5的问题
- 人脸识别+AI技术如何实现智慧工地履约考勤?
- 计算机制造商logo,如何更改系统oem制造商logo等信息
- 【django】class='btn' btn按钮样式
- linux curse库函数,curse
- matlab 二维空间变换-maketform imtransform 用法
- [RTOS]rtthread,freeRTOS,uCOS等系统简单对比