我计划用 C++ 为我的项目构建一个小型爬虫。我选择了Boost.Asio
库来实现网络功能。但后来,我遇到了Boost.Beast
图书馆和我很困惑要使用哪个图书馆。我有两个疑问:
问题 1:
是Boost.Asio
支持HTTPS
和HTTP/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/