c++ - 我可以使用 Boost.Asio 和 Boost.Beast 库发出 HTTPS 请求或 HTTP/2 请求吗?

标签 c++ boost boost-asio

我计划用 C++ 为我的项目构建一个小型爬虫。我选择了Boost.Asio库来实现网络功能。但后来,我遇到了Boost.Beast图书馆和我很困惑要使用哪个图书馆。我有两个疑问:

问题 1:

Boost.Asio支持HTTPSHTTP/2连接?

问题2:

Boost.Asio 和有什么区别和Boost.Beast

我搜索了一些文档,但没有找到有用的信息。此外,有关 Boost 库的文章屈指可数。

谢谢。

最佳答案

第一季度:

不,它只会为您执行 TCP。

第二季度:

亚洲:

Boost.Asio is a cross-platform C++ library for network and low-level I/O programming that provides developers with a consistent asynchronous model using a modern C++ approach. https://www.boost.org/doc/libs/1_67_0/doc/html/boost_asio.html

野兽:

Beast is a C++ header-only library serving as a foundation for writing interoperable networking libraries by providing low-level HTTP/1, WebSocket, and networking protocol vocabulary types and algorithms using the consistent asynchronous model of Boost.Asio. https://www.boost.org/doc/libs/1_67_0/libs/beast/doc/html/index.html

简而言之,Asio 处于较低级别,可帮助您构建异步程序,有助于 I/O,并且在网络方面主要限于传输层。它对 SSL 有一定的支持。

Beast 级别更高,当您需要 HTTP、Websockets 等时可以为您提供帮助。它可以与 Asio 互操作。

关于c++ - 我可以使用 Boost.Asio 和 Boost.Beast 库发出 HTTPS 请求或 HTTP/2 请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51001519/

相关文章:

c++ - 将 unique_ptr 添加到 vector 中的类会导致 3 倍 boost

c++ - 使用 Boost.ProgramOptions 继承选项

C++、TR1、正则表达式和 boost

c++ - SSL 握手错误 : session id context uninitialized

c++ - 使用子模块应用程序编译 Modular Boost 1.55.0

c++ - 尝试在C++中生成特定范围内的随机数

c++ - 错误 : invalid instruction suffix for `cmpxchg'

c++ - boost asio io_service 是否保证两个并行调用链的执行?

c++ - 按顺序生成数字分区的不同方法

c++ - 用于 C++ GUI 桌面 Windows 应用程序的测试自动化工具/库/框架