下载安装
用过linux的一定知道curl这个命令工具可以很方便的下载网页,文件等
curl -v http://www.baidu.com
对应的库是libcurl,可以在网上下载源码编译安装
下载地址:https://curl.haxx.se/download.html
解压,configure,make,make install即可
源码范例
以下载一个网页,保存到文件为例
#include <curl/curl.h>
#include <stdio.h>
#include <stdlib.h>
size_t curl_write_cb(void* buf, size_t num, size_t cnt, void* userdata){
if (!buf || !userdata)
return 0;
FILE* fp = (FILE*)userdata;
fwrite(buf, num, cnt, fp);
fprintf(stdout, "%s", (char*)buf);
return num*cnt;
}
int main(int argc, char *argv[]){
puts("---------------------------------");
CURLcode code = curl_global_init(CURL_GLOBAL_DEFAULT);
if (code != CURLE_OK){
fprintf(stderr, "curl_init err= %d\n", code);
exit(-1);
}
CURL *hCurl = curl_easy_init();
FILE* fp = fopen("./index.html", "w");
curl_easy_setopt(hCurl, CURLOPT_URL, "http://www.baidu.com/");
curl_easy_setopt(hCurl, CURLOPT_WRITEFUNCTION, &curl_write_cb);
curl_easy_setopt(hCurl, CURLOPT_WRITEDATA, fp);
code = curl_easy_perform(hCurl);
if (code != CURLE_OK){
fprintf(stderr, "curl_perform failed: %d\n", code);
}
fclose(fp);
curl_easy_cleanup(hCurl);
curl_global_cleanup();
puts("=================================");
return 0;
}