0
点赞
收藏
分享

微信扫一扫

window下使用curl库下载文件


1 下载curl库:​​http://curl.haxx.se/download.html​​

window下使用curl库下载文件_C++

2 下载后解压,进入curl-7.38.0\projects\Windows\VC6目录,使用vs 2010打开项目,选择DLL Release编译

3 新建curl测试项目,创建文件夹include和lib

3 进入目录curl-7.38.0\build\Win32\VC6\DLL Release将libcurl.dll和libcurl.lib分别拷贝到curl项目的include和lib目录下

4 curl测试项目属性—- C/C++ --- 预处理器– 预处理器定义  添加 CURL_STATICLIB

5 curl测试项目属性—- C/C++--- 常规–附加包含目录  添加include

6 curl测试项目属性—- 连接器 --- 常规 – 附加库目录 添加lib

7 将curl-7.38.0\include\下的curl目录拷贝到curl测试项目的include目录下

测试程序编写

#include <stdio.h>
#include <iostream>
#include <Windows.h>
#include "curl/curl.h"

#pragma comment(lib, "libcurl.lib")
#pragma comment(lib, "wldap32.lib")
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "winmm.lib")

using namespace std;

size_t write_data(char *buffer,size_t size, size_t nitems,void *outstream)
{
int written = fwrite(buffer, size, nitems, (FILE*)outstream);
return written;
}

int main(int argc,char* argv[])
{
// 将note.xml写入myxml.xml文件里
CURL *pCurl;
FILE* pFile = fopen( "myxml.xml", "wb" );
pCurl = curl_easy_init();
curl_easy_setopt(pCurl, CURLOPT_WRITEDATA, (void*)pFile);
curl_easy_setopt(pCurl, CURLOPT_WRITEFUNCTION, write_data);
curl_easy_setopt(pCurl, CURLOPT_URL, "http://www.w3school.com.cn/example/xmle/note.xml");
curl_easy_perform(pCurl);
fclose(pFile);
curl_easy_cleanup( pCurl );

//将note.xml显示在终端上
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{
curl_easy_setopt(curl, CURLOPT_URL, "http://www.w3school.com.cn/example/xmle/note.xml");

res = curl_easy_perform(curl);
curl_easy_cleanup(curl);
curl_global_init(CURL_GLOBAL_ALL);
}
system("pause");
}

9 运行结果

window下使用curl库下载文件_C++_02







举报

相关推荐

0 条评论