libcurl库试用
cURL是个非常不错的工具,同时libcurl 是一个很不错的库,支持http,ftp等很多的协议。好久之前就想学习下。
cURLcpp是cURL的一个封装。有兴趣的同学可以尝试下。
请参考文章《在 Windows 上编译(安装)和使用 libcurl》。
如果不想自己编译,可以下载官方上编译好的库文件。一般比最新的版本低,下载地址为http://curl.haxx.se/latest.cgi?curl=win32-ssl-devel-msvc。
可以参照上面的文章设置include 和lib路径,具体来说就是
1)新建一个console工程,将下载包解压到的include 和lib拷贝到工程中(或者设置个路径也行,复用可能会好些)
2)设置工程属性,Project->Settings (Alt+F7),找到C++页,选择Preprocessor 分类(Category),在Additional include Directories下填写相对路径./include
在Link页,选择Input分类(Category),在Additional Lib path下添加./lib.然后在Project Option中添加curl_imp.lib。
3)建立一个.cpp文件,编写测试代码
#include <stdio.h>
#include <curl/curl.h>
int main( void ) {
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if( curl ) {
curl_easy_setopt( curl, CURLOPT_URL, "www.baidu.com");
res = curl_easy_perform( curl );
curl_easy_cleanup( curl );
}
return 0;
}
编译和链接如上程序没有出错,说明编译和链接库的路径设置对了,但是执行(Debug)的时候,出现如下图。
从提示来看,是确实可执行的库,于是将解压后包中的Debug目录下的curllib拷贝到Debug目录下,再次执行,出现如下结果
查阅相关的资料,发现是可能是*.dll不匹配,程序无法启动。
然后在解压包根目录下的curllib.dll拷贝到Debug目录下,再次执行,可以成功。