找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

嵌入式设备上的Curl工具

admin 2019-5-14 05:17 125人围观 嵌入式相关

Curl工具和libcurl可能是世界上最流行和最广泛使用的HTTP客户端软件包了,已经有超过60亿的安装量了。

Curl的优势在于支持非常多的协议和功能,但为此也付出了很大的代价,就是这个包太庞大了。

为了满足特定场景下的使用,Curl官方发布了一个新的Curl工具,而且是最小化的,叫做 tiny-curl。

tiny-curl的第一个目标就是控制大小。tiny-curl 基于wolfSSL TLS库(一个轻量,支持嵌入式设备的 TLS 实现,我关注了他们的官方博客,非常的活跃),在32位系统上,整个大小控制在100K(包括wolfSSL TLS库)。

如果是一个完整版的Linux系统,可能根本不在乎Curl的大小,tiny-curl 的潜在用户更多是小型Linux系统,基于此,官方基于嵌入式 RTOS 系统进行测试,采用的是 FreeRTOS(一个免费的嵌入式系统)。

总结来说,一个基于 FreeRTOS,且只支持 HTTPS 的 libcurl 仅仅100K。

嵌入式设备上的libcurl库基于 libcurl API,这个API的开发和维护是重中之重,当然 libcurl API 也已经千锤百炼了,能够运行在很多平台上。

tiny-curl 的第二个目标就是尽可能干净的打PATCH,PATCH也会合并到libcurl代码树中,尽量不影响主要代码。

tiny-curl小巧的核心原因就是很多功能没有提供,比如仅仅支持HTTPS协议,没有cookie支持,没有multi-part支持,当然也可以重新编译,以便提供想要的一些功能。

目前可以在wolfssl官网下载tiny-curl(0.9版本),基于curl 7.64.1版本。下一篇我会分享如何安装使用。

大家常用的 curl 是基于 MIT 许可证,tiny-curl 采用 GPLv3,主要原因在于它还是一个实验性的工程,对于 Curl 来说,这是一个非常好的尝试。


今天微信允许关注数大于500的公众号开通广告主,希望大家多多点一点~~

----------------------------------------------------------------------------------------------------------------------
我们尊重原创,也注重分享,文章来源于微信公众号:虞大胆的叽叽喳喳,建议关注公众号查看原文。如若侵权请联系qter@qter.org。
----------------------------------------------------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......