首页 文章

嵌入式项目的C / C HTTP客户端库[关闭]

提问于
浏览
32

所以我在StackOverflow和Google上浏览了搜索结果的页面和页面,我遇到了很少适合资源受限的嵌入式环境(例如ARM)的C / C HTTP客户端库 . 然而,我遇到了很多适合桌面级应用程序的东西 .

从本质上讲,我使用简单,易用且方便的API来进行HTTP GET,POST和HEAD调用(支持身份验证,下载恢复和有效负载压缩) . 如果它具有较小的占用空间(即没有或最小的外部依赖性)并且是开源的(具有许可许可证),那将是理想的 .

这是我到目前为止所遇到的一系列清单以及它们不适合的原因 -

那里有没有我不知道的图书馆,或者我最好自己滚动?

3 回答

  • 2

    您是否看过mbed上的HTTPClient?看起来几年前有很多原件的叉子没有保留 . 我没用过这个......

    http://mbed.org/users/WiredHome/code/HTTPClient/

  • 2

    我可以描述一下我用于这些任务的内容 .

    curl - 如果你很懒,你可以只使用内置二进制文件下载并且无需做任何事情,它有非常简单的 Headers 和很多例子 . 您将需要3-4个已构建的库和标头 . 没有外部依赖 . 所以,我认为它太低级了,但根本不是重量级的 .

    boost.asio - 非常有趣的实现范例,非常简单和干净 . 但我会说它也是低级别的 . 然后更难卷曲 . 并且需要使用boost,这是你想要避免的外部依赖,我想 .

    poco - http服务器的最佳解决方案 . 它是高级别的,在您加入应用程序之后,您只需要实现几个虚拟功能,完成所有其他工作(和线程管理) . Poco为应用程序管理,线程/进程管理提供了很多东西,它非常简单易用,我甚至会说它有类似java的界面 . 是的,poco有外部依赖,但我认为这是学习完美图书馆的机会 . 不过,对于http客户来说,它真的很重 .

    这就是我对HTTP的所有C体验 . 计算你只需要客户端而不需要依赖项,我会建议你看一下libcurl库 . 它具有跨平台,简单,无依赖性和低级别,足以满足您对网络的所有需求 . 如果你有时间 - 看看Poco,我相信你会像我一样爱上这个图书馆 . 希望会有所帮助 .

  • 13

    我找到了另一个,只需要打包到lib中 . 没有测试它,但可能值得一看:

    https://github.com/reagent/http.git

相关问题