前几天在VC2013工程中用libcurl post文件和数据到http服务器,简单记录下客户端的一些操作:
Libcurl编译:
第一步:从https://curl.haxx.se/download.html下载源码,比如版本为curl-7.49.0.zip
第二步:解压后用VS2013打开curl-7.49.0\projects\Windows\VC12\curl-all.sln (VS2015用VC14那个文件夹,我没2015的环境,没试过)
第三步:打开libcurl的工程属性窗口:Configuration Properties -> C/C++ -> Output Files, 将 Assembler Output的设置改为No Listing,否则自己的工程在连接的时候会报错。
第四步:注意Configuration Properties -> C/C++ -> Runtime Library的默认设置是MT,后面自己工程的这个设置要保持一致,否则连接会报错。
第五步:编译libcurl,得到lib文件curl-7.49.0\build\Win32\VC12\LIB Release\libcurl.lib
VS2013工程:
第一步:复制libcurl.lib到自己的工程文件夹,并用#pragma comment( lib, "xxx.lib" )或者在Configuration Properties -> Linker -> Input中将libcurl.lib,winmm.lib和wldap32.lib添加到工程中。
第二步:在Configuration Properties -> C/C++ -> Preprocessor添加两个宏定义:BUILDING_LIBCURL和HTTP_ONLY
第三步:将文件夹curl-7.49.0\curl-7.49.0\include\curl复制到自己的工程中,并include curl.h到相应位置。
第四步:libcurl的使用请参考http://www.tuicool.com/articles/7vaemu中使用libcurl post的那段代码,这里就不抄了,类似的代码网上有很多。
服务器端我用的是PHP,和网页上form post一样的处理方法,通过$_POST和$_FILES获取数据和文件。