libcurl使用帮助.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
libcurl使用帮助

本帖源于/gjy1606/archive/2010/06/03/5644712.aspx 先贴三个对此次学习帮助最大的三个网址吧: curl官网:http://curl.haxx.se/libcurl/ JGood对libcurl很多函数的官方文档翻译,加了一些实例,很清晰: /JGood/archive/2009/11/08/4787670.aspx 浪迹天涯对libcurl的一些使用心得,从中我得到了怎么判断HTTP地址的文件是否存在的判断方法: /qiujian5628/archive/2008/06/28/54873.html ---------------------------------------------------------------------先说下思路吧: 用curl库,一般步骤为: 先使用curl_global_init()初始化curl,然后使用curl_easy_init()获取curl句柄,再根据得到的句柄进行一些操作设置curl_easy_setopt(),设置完后用curl_easy_peform()执行你以前所做的所有设置.若在设置上做了READ或WRITE等动作,在执行完后还可以用curl_easy_getinfo()来获取你取得的一些东西,这里可以进行一些判断(我就是在这里判断HTTP头,来处理到底远程文件是否存在的).最后就是用curl_easy_cleanup(),curl_global_cleanup()来清理以前初始化的东西. 具体的请看JGod大大的blog. 比较需要了解的还是curl_easy_setopt()的参数: view plaincopy to clipboardprint? curl_easy_setopt(curl, CURLOPT_URL, http://****); //获取url地址 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_fun); //重载一个写文件的回调函数(默认的只是简单的把数据流输出到屏幕) curl_easy_setopt(curl, CURLOPT_WRITEDATA, data); //给回调函数传递一个自定义参数data(出现在第4个参数) curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_fun); curl_easy_setopt(curl, CURLOPT_READDATA, read_fun); //参见WRITE curl_easy_setopt(curl, CURLOPT_URL, http://****); //获取url地址 curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_fun); //重载一个写文件的回调函数(默认的只是简单的把数据流输出到屏幕) curl_easy_setopt(curl, CURLOPT_WRITEDATA, data); //给回调函数传递一个自定义参数data(出现在第4个参数) curl_easy_setopt(curl, CURLOPT_READFUNCTION, read_fun); curl_easy_setopt(curl, CURLOPT_READDATA, read_fun); //参见WRITE 设置好后就能利用curl进行文件的上传和下载了. -------------------------------------------------------------------------------- 接下来进入主题,上代码: view plaincopy to clipboardprint? //WRITEFUNCTION回调函数的实现,在这里只做简单的处理 size_t process_data(void *buffer, size_t size, size_t nmemb, std::string user_p) { user_p = (char*)buffer; return nmemb; } const int FILE_EXIST = 200; int down_file(const char* url, const char* down_file_name) { // 初始化libcurl CURLcode return_code; return_c

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档