libcurl下载文件实例
时间: 2023-07-25 20:03:52 浏览: 152
好的,以下是一个使用libcurl下载文件的示例代码:
```c++
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
FILE *fp;
CURLcode res;
char *url = "https://www.example.com/file.txt";
char outfilename[FILENAME_MAX] = "file.txt";
curl = curl_easy_init();
if(curl) {
fp = fopen(outfilename,"wb");
curl_easy_setopt(curl, CURLOPT_URL, url);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, NULL);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
res = curl_easy_perform(curl);
if(res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
fclose(fp);
}
return 0;
}
```
这个示例中,我们首先初始化了一个CURL对象,然后设置了要下载的URL和要保存的文件路径。接着我们打开了一个文件指针,用于将下载的数据写入到文件中。然后我们通过curl_easy_setopt()函数设置了数据的写入方式,这里我们使用了默认的写入函数,将数据写入到指定的文件中。最后我们执行了一个HTTP GET请求,并将下载的数据写入到文件中。如果请求成功,curl_easy_perform()函数会返回CURLE_OK,否则会返回一个错误码。最后我们清理并释放了CURL对象,并关闭了文件指针。
阅读全文