实例代码:
<pre name="code" class="html">#include<iostream>
#include <curl/curl.h>
using namespace std;
#pragma comment(lib,"libcurl.lib")
FILE *fp; //定义FILE类型指针
//回调函数,CURLOPT_WRITEFUNCTION而构造的
size_t write_data(void *ptr, size_t size, size_t nmemb, void *stream)
{
int written = fwrite(ptr, size, nmemb, (FILE *)fp);
return written;
}
int main()
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
curl_easy_setopt(curl, CURLOPT_URL, "www.baidu.com");
if ((fp = fopen("D:\\baidu.txt", "w")) == NULL)
{
curl_easy_cleanup(curl);
}
CURLOPT_WRITEFUNCTION 将后继的动作交给write_data函数处理
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
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);
return false;
}
fclose(fp);
curl_easy_cleanup(curl);
system("pause");
}