2014-05-24 115 views
29

因此,我翻阅了StackOverflow和Google上搜索结果的页面和页面,并且遇到了适合资源受限的嵌入式环境的极少数C/C++ HTTP客户端库(例如ARM)。然而,我遇到了很多适合桌面级应用程序的应用程序。从本质上讲,我是在一个简单,易于使用和方便的API之后进行HTTP GET,POST和HEAD调用(支持身份验证,下载恢复和有效负载压缩)。如果它的占地面积很小(即没有或只有最小的外部依赖)并且是开源的(具有许可许可证),那将是理想的。用于嵌入式项目的C/C++ HTTP客户端库

这里是我所遇到过这么远的列表以及它们为什么不适合 -

是否有任何图书馆,在那里,我不知道的还是我我最好滚我自己?

+1

在与嵌入式和受限设备我的HTTP客户端体验,通过我自己的开发用C一个简单的HTTP客户端库。 上面的所有解决方案都是重量级的,或者它们具有太多的依赖性。保罗。 – ppatierno

回答

1

我只能描述我用于这些任务的内容。

curl - 如果你是懒惰的,你可以下载构建的二进制文件,没有什么可做的,它有非常简单的头文件和大量的例子。你需要3-4个已经建好的库和头文件。没有外部依赖性。所以,我认为它太低级,但根本不重量级。

boost.asio - 非常有趣的实现范例,非常容易和干净。但我会说它也是低级的。更难的是curl。并且需要使用提升,这是你想要避免的外部依赖,我想。

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

这就是我所有使用HTTP的C++经验。计数你只需要客户端,不需要依赖关系,我会提供给你看看libcurl库。它具有跨平台,简单,无依赖性和低层次的特点,足以满足您在网络上的所有需求。如果你有时间 - 看看波科,真的,我相信你会像我一样爱上这个图书馆。 希望这会有所帮助。

+0

感谢您的回答!这些库对于我正在开发的项目来说确实太重了,我只是不能证明拉入这样一个巨大的库。 – thegreendroid