libcurl学习笔记

最近需要写一个下载列表,涉及到了下载文件的操作,听取别人意见,决定使用libcurl。

libcurl相关资料:http://curl.haxx.se/libcurl/c/

libcurl下载地址:http://curl.haxx.se/download.html

在查找文档时,发现libcurl主站上的相关文档都是英文的,读起来有点不那么顺畅。倒是不耽误写代码,只是觉得有必要把他们翻译过来,方便后来者理解libcurl,因此我在此将部分有用文档用汉语来简单表述一下,希望对各位有所帮助。


http://curl.haxx.se/libcurl/c/页面的翻译如下:

使用libcurl的C接口

如果想要深入的掌握libcurl程序都包括哪些内容,可以从这个教程开始看:教程

这里面有一些C标准源码的例子,查看这里:C源码例子  内容不是非常全面,甚至可以说有点宽泛,但是他们也许会给你一些编程上的灵感


如果对libcurl的版本号感兴趣,可以深入了解下文档:Symbols In Versions,这个文档记录了版本历史(反正我是没看到)


使用Microsoft Visual Studio的windows开发者,也许会对下面这两个感兴趣:

1. Andrei Jakab 写的 Using libcurl with SSH support in Visual Studio 2010 [PDF]

2. Rosso Salmanzadeh 写的 Using libcurl in Visual Studio [PDF] guide


The Easy Interface

1. 当使用libcurl时,你需要先 初始化 你的easy-session,得到句柄,这个句柄会作为下面你将要用到的接口函数的输入参数。


2. 接下来你需要设置所有的 属性,这些属性在即将到来的各种交互中会用到,这些属性中最重要的一个就是 URL,即下载地址本身。你也许想要设置一些回调函数,当lubcurl动态库中的一些数据是你所需要的时,可以通过回调函数传送出来,那么都可以在此来设置。


3. 当一切准备就绪,你便可以告诉libcurl可以 执行 操作了。libcurl开始执行整个下载操作,当下载完成或者失败时,会返回。


4. 在操作执行完后,你可以 获取 关于transfer的信息,然后你变可以清除 easy-session 的句柄了,之后libcurl便会全部关闭

上述步骤的概述可以查看:easy interface overview.


上述用到的函数如下: 

curl_easy_init()

curl_easy_cleanup()

curl_easy_setopt()

curl_easy_perform()

curl_easy_getinfo()

上面几个函数的用法翻译在这:


下面是一些有用的libcurl中的其他接口

curl_version()returns a pointer to the libcurl version string
curl_getdate()converts a date string to time_t
curl_formadd()build multipart form-data posts
curl_formfree()free a previously built form POST
curl_slist_append()builds a linked list
curl_slist_free_all()frees a whole curl_slist as made with curl_slist_append()
curl_easy_escape()URL encodes a string
curl_easy_unescape()URL decodes a string



注:本文为原创翻译,转载请注明出处。

【完】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值