很好很强大的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复制进去(注意不要丢了";")
· 一窥 Moto X 美国工厂
· IDC:平板电脑出货量预计在 Q4 超越 PC
· 可穿戴设备走上 T 台,是时候考虑时尚的问题了
· 百度卫士1.0正式版发布:轻、快、智、净
· 程序员向同性表白被拒 清空公司服务器所有数据
» 更多新闻...
· 1985年我是如何写代码的
· 无法推动项目起步?试试麦当劳理论
· 让你的大脑安静下来
· MySQL云数据库服务的架构探索