使用 C++ 的 http 客户端的默认方法
Default approach to a http client with c++
看看 Java、C# 和 Python 等高级语言如何作为客户端处理 http 请求,我想知道今天 c++ 中的默认方法是什么。
我的要求是:
- REST 接口的 HTTP 客户端
- 基于 SSL 的 HTTP
- 支持 OAuth2 客户端凭据
OAuth2 支持我很快就抓到了并接受了,这需要实现。
我找到了一些库,但其中大多数看起来都相当过时并且有点 "unprofessional"。
下面列出了我能找到的内容以及我的想法:
libcurl
虽然这似乎是最专业的选择。 C API 很糟糕,当然不存在 OAuth 支持。但这似乎是我目前的最佳选择。
心肺复苏术
一个 libcurl 的 c++ 包装器,它似乎是一个维护得相当糟糕的库,这是一个 nono。它似乎有 https 支持,但在 github md 中它说它没有。
curlpp
这个项目似乎不再维护了。
boost::asio
如果我没记错的话,这里的事我都得亲力亲为。我正在努力得到某事。完成了,不想重新发明轮子。
Qt
虽然看起来不错,但我有点不愿意使用 UI 框架进行通信。但也许我错了。
cpprestsdk
虽然一开始看起来很适合我的目的,但不支持 OAuth2 客户端凭据。整个 OAuth2 部分被标记为实验性的。几年来就是这种情况。似乎未完成且维护不善。
结论
所以 c++ 可能不是您处理 http 客户端的常用语言,但这是一个非常基本的东西,我对那里的库感到惊讶。
我错过了什么大事吗?
这里的默认方法是什么?有没有更好的选择"high level"。还是默认方法采用低级别 boost::asio 风格以获得最佳性能?
我认为您跳过了最常见的库,例如 crow,用于小型项目和快速开发。它非常有限,但提供了足够的功能。
Poco Project 是我遇到的最成熟的库,为成熟的项目提供了很多功能。
看看 Java、C# 和 Python 等高级语言如何作为客户端处理 http 请求,我想知道今天 c++ 中的默认方法是什么。
我的要求是:
- REST 接口的 HTTP 客户端
- 基于 SSL 的 HTTP
- 支持 OAuth2 客户端凭据
OAuth2 支持我很快就抓到了并接受了,这需要实现。
我找到了一些库,但其中大多数看起来都相当过时并且有点 "unprofessional"。
下面列出了我能找到的内容以及我的想法:
libcurl
虽然这似乎是最专业的选择。 C API 很糟糕,当然不存在 OAuth 支持。但这似乎是我目前的最佳选择。
心肺复苏术
一个 libcurl 的 c++ 包装器,它似乎是一个维护得相当糟糕的库,这是一个 nono。它似乎有 https 支持,但在 github md 中它说它没有。
curlpp
这个项目似乎不再维护了。
boost::asio
如果我没记错的话,这里的事我都得亲力亲为。我正在努力得到某事。完成了,不想重新发明轮子。
Qt
虽然看起来不错,但我有点不愿意使用 UI 框架进行通信。但也许我错了。
cpprestsdk
虽然一开始看起来很适合我的目的,但不支持 OAuth2 客户端凭据。整个 OAuth2 部分被标记为实验性的。几年来就是这种情况。似乎未完成且维护不善。
结论
所以 c++ 可能不是您处理 http 客户端的常用语言,但这是一个非常基本的东西,我对那里的库感到惊讶。
我错过了什么大事吗?
这里的默认方法是什么?有没有更好的选择"high level"。还是默认方法采用低级别 boost::asio 风格以获得最佳性能?
我认为您跳过了最常见的库,例如 crow,用于小型项目和快速开发。它非常有限,但提供了足够的功能。
Poco Project 是我遇到的最成熟的库,为成熟的项目提供了很多功能。