c libcurl 基本使用
来源:互联网 发布:淘宝卖土特产前景分析 编辑:程序博客网 时间:2024/06/05 15:37
Ubuntu安装Curl的方法
sudo apt-get install curl libcurl3 libcurl3-dev php5-curl
使用curl
gcc demo01.c -o demo01 -lcurl
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <curl/curl.h>#include <curl/easy.h>size_t callback_write_file(void *ptr, size_t size, size_t nmemb, void *userp){ printf("size * nmemb = %lu\n",size * nmemb); fwrite(ptr,size,nmemb,(FILE *)userp); return size * nmemb; //必须返回这个大小, 否则只回调一次, 不清楚为何.}void *func_download_file(FILE *fp){CURL *curl = NULL;CURLcode res;curl_global_init(CURL_GLOBAL_DEFAULT);curl = curl_easy_init();curl_easy_setopt(curl, CURLOPT_URL, "http://imgsrc.baidu.com/baike/pic/item/34fae6cd7b899e51b628267841a7d933c8950d33.jpg"); //设置下载的URIcurl_easy_setopt(curl, CURLOPT_TIMEOUT, 20); //设置超时curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1); //屏蔽其它信号//curl_easy_setopt(curl, CURLOPT_HEADERDATA, 1); //下载数据包//curl_easy_setopt(curl, CURLOPT_RANGE, "0-500"); //用于断点续传, 设置下载的分片//char buffer[MAXHEADLEN] = {0x0};curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, callback_write_file); //设置下载数据的回调函数curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);res = curl_easy_perform(curl);if(res != CURLE_OK){fprintf(stdout,"curl execute fail\n");}curl_easy_cleanup(curl);curl_global_cleanup();return 0;}int main(){ FILE *fp = fopen("./kaka.jpg","wb"); if(!fp) { fprintf(stdout,"fopen fail \n"); } func_download_file(fp); fclose(fp); return 0;}
0 0
- c libcurl 基本使用
- libcurl基本使用 -- libcurl
- libcurl库基本使用
- linux C libcurl https 使用
- curl的基本使用及libcurl
- C 使用libcurl与json-c方法
- C 使用libcurl与json-c方法
- linux c libcurl的简单使用
- linux c libcurl的简单使用
- linux c libcurl的简单使用
- linux c libcurl的简单使用
- libcurl在嵌入式设备C 的使用
- linux c libcurl的简单使用
- libcurl的C语言接口使用过程
- linux c libcurl的简单使用
- libcurl在嵌入式设备C 的使用
- libcurl库(C++)快速使用
- 【C++】C++使用libcurl做HttpClient
- myeclipse删除svn上的文件和文件夹
- oracle两表关联更新
- PDO在CI框架中的使用
- 淘宝MM资料Python爬虫1.0
- Android中EditTex焦点设置和弹不弹出输入法的问题
- c libcurl 基本使用
- Android4.4 Camera callback注册和回调过程分析
- studio写jniHelloWorld的步骤
- 基于CentOS7开发之路 --- 第一章 : 安装 CentOS 7.2-1511
- UVa11019 Matrix Matcher 留坑[AC自动机]
- ROS通信原理介绍
- 大数据运维框架(四)--开发篇:自动部署程序的功能实现
- 使用 RandomStringUtils 类来生成随机码/随机数 java生成指定范围的随机数
- 【JavaWeb-22】slf4j和log4j的转化、一对一关系的配置、二级缓存的四种类别、阶段案例注意事项