很好很强大的cUrl库

貌似以前使用过cUrl,不过没读过源码,记得以前到是看过wGet的源码,不过那个程序是单线程的。这次无意中发现cUrl的源码居然有Windows版的,到http://curl.haxx.se/下了个最新版的源码下来,源码是用VC6编译的,我在VS2005下重新进行编译,居然只有一个警告。

 

cUrl的实现代码是放在动态库中,将动态库以静态方式编译生成libcurl.lib,然后将cUrl源码目录下的“include/curl”文件夹复制到自己的项目下(如图1)。

图1

接下来就可以直接调用curl库了,下面是一个网上找来的简单例子:

 

#include "curl/curl.h" #pragma comment(lib, "ws2_32.lib") #pragma comment ( lib, "libcurl.lib" ) #pragma comment ( lib, "ws2_32.lib" ) #pragma comment ( lib, "winmm.lib" ) #pragma comment ( lib, "wldap32.lib" ) int main() { CURL *curl; CURLcode res; curl = curl_easy_init(); if ( curl ) { curl_easy_setopt( curl, CURLOPT_URL, "http://www.baidu.com" ); res = curl_easy_perform( curl ); curl_easy_cleanup( curl ); } }

 

提示:在VS2005中编译示例程序时,会提示“LNK2001: 无法解析的外部符”,解决办法如下(引用:http://www.cnblogs.com/zdxster/archive/2011/01/27/1945877.html):

1、给工程添加依赖的库:项目->属性->链接器->输入->附加依赖项,把libcurl.lib ws2_32.lib winmm.lib wldap32.lib添加进去

注意,debug配置用libcurld.lib

2、加入预编译选项:项目->属性->c/c++ ->预处理器->预处理器,把  ;BUILDING_LIBCURL;HTTP_ONLY复制进去(注意不要丢了";")

 

你可能感兴趣的:(socket)