c++ - cURL 是一个网络库吗?

标签 c++ networking boost curl poco-libraries

我正在尝试使用 C++ 以可移植的方式学习网络编程(不拘泥于任何特定的操作系统)。我问my previous question关于一个好的可移植网络库以及专家(SO 用户)建议的 Boost::Asio 和 POCO。

最近我偶然发现了 cURL(我听说过它,但忘记了有类似的东西)。我知道它是一个多协议(protocol)文件传输库,但这不就是网络库可以做的事情吗?

我的问题是cURL有什么用?是另一个网络图书馆吗?如果是的话,那不是很好吗?为什么没有人推荐 Curl?如果不是,那么与 Boost::Asio 和 POCO 等网络库相比,什么时候使用它?

最佳答案

cURL主要用于处理 URI/URL。 URL 主要用于网络,但至少在理论上这或多或少与 cURL 无关。尽管这样做可能不太常见,但如果您编写了一个仅处理本地文件的程序,但使用 file:// URL 进行操作,则 cURL 可以很好地操作这些本地 URL。

Boost ASIO 有用于网络的基础设施,但没有任何东西可以直接使用 URL。 Boost 的其他部分包括诸如字符串处理之类的内容,这些内容在构建 URI/URL 处理时可能会很方便,但据我所知,没有任何特定于操作 URI/URL 的内容。

POCO 是一个成熟的网络库,它还包括 URI 处理,但并不专门(任何接近)专门用于它。

关于c++ - cURL 是一个网络库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9867151/

相关文章:

networking - 识别慢启动阶段的结束

c++ - 从用户定义类型到 int 的词法转换

c++ - 在索引处 boost 几何多边形插入点

c++ - 通用 VC++ 与 g++ 查询

c++ - 映射唯一值和重复值的有效方法。可以访问键或值的位置

java - 如何使用 Java.sql.Connection.setNetworkTimeout?

c++ - 由于英国夏令时, boost 计时器停止工作

c++ - 如何将 vector 转换为数组

c++ - 使用 ctypes : undefined symbol 包装 C++

android - 为 WiFi 连接禁用三星 "Auto Network Switch"