使用 c++ 的 http 客户端的默认方法
Default approach to a http client with c++
看看Java,C#和Python等高级语言如何作为客户端处理http请求,我想知道今天的C ++的默认方法是什么。
我的要求是:
- 用于 REST 接口的 HTTP 客户端
- 基于 SSL 的 HTTP
- 支持 OAuth2 客户端凭据
OAuth2支持我很快就刮擦并接受了,这需要实施。
我找到了许多图书馆,但其中大多数似乎都相当过时,有点"不专业"。
因此,以下是我可以找到的内容列表以及我对这些想法的列表:
库库尔
虽然这似乎是最专业的选择。C API 是一个无赖,当然 OAuth 支持不存在。但这似乎是我现在的最佳选择。
心肺复苏术
libcurl 的 c++ 包装器,它似乎是一个维护得相当糟糕的库,这是一个 nono。它似乎有https支持,但在github md中它说它没有。
柯尔普
此项目似乎不再维护。
提升::亚西奥
如果我没记错的话,我必须在这里自己做所有事情。我正试图得到sth。完成了,不想重新发明轮子。
Qt
虽然看起来还不错,但我有点不愿意使用 UI 框架进行交流。但也许我错了。
CPPRESTSDK
虽然一开始看起来很适合我的目的,但不支持 OAuth2 客户端凭据。整个 OAuth2 部分被标记为实验性。几年来一直如此。似乎未完成且维护不善。
结论
因此,c++可能不是您使用http客户端的常用语言,但这是一件非常基本的事情,我对那里的库感到惊讶。
我错过了什么大事吗?
默认方法是什么?有没有更好的"高级"选择。还是默认方法这样做是低级 boost::asio 风格以获得最佳性能?
我认为您跳过了大多数常见的库,例如用于小型项目和快节奏开发的 crow。它非常有限,但提供了足够的功能。
Poco 项目是我遇到的最成熟的库,为成熟的项目提供了许多功能。
相关文章:
- 初始化具有非默认构造函数的std::数组项的更好方法
- 有没有一种代码密度较低的方法来使用非默认构造函数初始化数组?
- 在C++中使用默认构造函数初始化对象的不同方法
- 使用默认构造函数初始化对象的不同方法
- 使用 c++ 的 http 客户端的默认方法
- 有没有一种简单的方法来调用带有默认参数的函数?
- 将私有数据成员作为默认参数传递给该类的公共方法时出错
- C++ 实例化新对象时不接受继承方法默认参数值
- 有没有更优雅的方法在构造函数中声明默认变量?
- 模板类专业化具有成员变量和方法的默认值
- 有没有一种很好的方法来实现具有默认失败情况的条件类型?
- 是否有一种方法可以在超载运算符函数中接触默认运算符函数
- 如何从类构造函数传递值C++作为此类方法的默认参数?
- 如何从 pjsip 发送电子邮件.是否有任何可用于发送电子邮件的默认方法
- 从指针访问值或获取其默认值(如果为 null)的最干净方法
- 存储具有许多变体的类的默认值的推荐方法是什么?
- 没有虚拟调度的默认方法实现
- 什么是默认方法以及如何正确使用它们
- C++:为默认方法参数调用另一个方法
- 在c++中显式声明默认方法