C++ 使用 Boost.asio 和 Beast 库在正文中发送数据

2023-11-23

我必须使用 C++ 库将数据发送到我们公司的 REST-Web 服务。 我从 Boost 开始,Beast并给出示例hereUbuntu 16.04 环境中的 Code::Blocks 下。 该文档对我解决以下问题没有帮助:

我的代码或多或少与示例相同,我可以成功编译并向我的测试 Web 服务发送 GET 请求。

但是如何根据此定义在请求 (req) 内设置数据:

:
beast::http::request<beast::http::string_body> req;
req.method("GET");
req.target("/");
:

我尝试使用一些req.body.???,但代码完成并没有给我有关功能的提示(顺便说一句,不起作用)。我知道req.method必须更改为“POST”才能发送数据。

谷歌没有显示关于此的新示例,仅找到上面的代码作为示例。

有人提示代码示例或使用有关野兽的信息(roar)。或者我应该使用网络套接字?或者只像 boost::asio 那样回答here?

提前致谢,请原谅我的英语不好。


对艾略特·帕里斯的回答的一点补充:

  1. 设置主体的正确语法是

    req.body() = "name=foo";
    
  2. 你应该添加

    req.prepare_payload();
    

    设置正文后,在 HTTP 标头中设置正文大小。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 使用 Boost.asio 和 Beast 库在正文中发送数据 的相关文章

随机推荐

  • 大多数签名/未签名警告的可接受修复?

    我本人确信 在我正在研究的项目中 有符号整数在大多数情况下是最佳选择 即使其中包含的值永远不会是负数 更简单的反向 for 循环 更少的错误机会等 特别是对于只能保存 0 到 20 之间的值的整数 大多数出错的地方是 std vector
  • Android Play Places 出现 PLACES_API_INVALID_APP 错误

    我正在尝试 Google Place Autocomplete 示例https github com googlesamples android play places 我已将正确的 API 密钥放在正确的位置 我知道这一点是因为当我输入随
  • 关于:下载文件时浏览器中出现空白#被阻止

    我正在尝试从本地服务器下载文件 也许将来我需要在其他服务器上执行此操作 当我单击链接下载浏览器中的文件时 会出现此消息 about blank blocked 我正在使用 axios 和vue js 代码是这样的 downloadItem
  • Flex:如何检测用户是否阻止共享对象写入

    简单的问题是 如果用户已阻止将数据写入共享对象 我如何在动作脚本中检测 sharedObj SharedObject getLocal rememberme 这个返回总是共享对象 但它的大小是0 即使我已经阻止了共享对象 当我尝试将数据保存
  • 如何将多个python文件转换为EXE?

    我正在尝试将我的 python 应用程序转换为 exe 我见过像 py2exe 和 cx freeze 这样的东西 但它们只编译一个 py 文件 谁能帮我 谢谢 我目前使用py安装程序用于将项目构建为单个可执行文件 这些项目都包含多个Pyt
  • gacutil 构建后事件已退出,代码为 1

    我正在尝试在 GAC 中注册并组装构建后活动 这是我的构建后命令 C Program Files x86 Microsoft SDKs Windows v7 0A Bin NETFX 4 0 Tools x64 gacutil exe if
  • 如何在主目录中创建文件夹?

    我想创建一个目录path HOME somedir 我尝试过使用boost filesystem create directory path 但它失败了 显然该函数不会扩展系统变量 我怎样才能以最简单的方式做到这一点 注意 在我的例子中 字
  • 从单个项目源构建多个 jar

    我对 gradle 还很陌生 我想知道是否可以从同一项目源构建多个 jar 我浏览过以前的类似问题 但我的情况有点不同 我想将所有源文件编译两次以生成两个不同的 jar 每个 jar 具有不同的依赖项和不同的工件 id 从概念上讲 它可以表
  • MongoDB中每条记录的更新时间

    MongoDB 的 ObjectId 有一个 getTimestamp 方法 该方法返回插入记录的时间 是否有类似的方法来获取上次更新的时间 或者我应该使用单独的列来保存此数据 使用 PHP 如果重要的话 MongoDB 不存储最后的更新
  • 使用 jQuery 检查页面加载时的所有复选框

    在页面加载时 使用 jQuery 如何自动选择特定 div 中的所有复选框 function thediv input checkbox attr checked checked
  • 如何在war文件中运行java类文件[重复]

    这个问题在这里已经有答案了 我有一个名为 Sample war 的战争文件 在这个战争文件中 我有一个名为 Maintest 的主类 我想从战争之外运行或执行Maintest类 如何做到这一点 War 文件只是带有额外元数据的 Jar 文件
  • R:在函数内使用 dplyr。 eval(expr, envir, enclos) 中的异常:未知列

    我在 R 中创建了一个函数友善的帮助 Jim M 当我运行该函数时 我收到错误 错误 未知列 原始数据 当查看调试器时 我收到消息 Rcpp eval expr envir enclos 中的异常 未知列 rawdata 然而 当我查看环境
  • Swift 固体节拍器系统

    我正在尝试构建一个可靠的实体系统 以使用 SWIFT 在我的应用程序中构建节拍器 到目前为止 我已经使用 NSTimer 构建了一个看似可靠的系统 我现在遇到的唯一问题是 当计时器启动时 前两次点击是关闭时间 但随后它会陷入一个可靠的时间范
  • 我们一次最多可以通过蓝牙与 Android 设备配对多少个设备? [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 谁能告诉我我们一次最多可以通过蓝牙与 Android 设备配对多少个设备 我用谷歌搜索了
  • Pandas read_sql_query 对某些列中的所有值返回 None

    我正在使用 pandas read sql query 将数据从 MySQL 数据库表读取到 pandas 数据帧中 该表中的某些列具有全部 NULL 值 对于这些列 pandas 数据框的每一行都不包含任何内容 对于所有其他列 数据帧包含
  • Oracle 提交和选择之间存在滞后

    我们有一个 Java 工作流应用程序 它使用 Oracle 数据库来跟踪其步骤以及与其他服务的交互 在工作流运行期间 会执行多次插入 更新 选择 有时选择不会返回更新的数据 即使插入 更新提交在成功完成之前运行也是如此 工作流程出错后 由于
  • HTML5自定义数据属性命名规则(data-)

    我尝试使用data userId 但 firebug 将其显示为data userid 带有小写 i 看来我们不应该在自定义数据属性中使用大写字母 HTML5自定义数据属性的命名规则是什么 请让我知道使用它的任何最佳实践 直接来自the s
  • 如何在 Android 中设置持久/定期计划?

    如何在每个指定时间 例如每天凌晨 5 点 执行一个操作 可能是一个 Intent 它必须在设备重新启动后保留 类似于 cron 的工作原理 我不确定是否可以使用AlarmManager为此 我可以吗 如果您希望它在设备重新启动后保留 则必须
  • OmniAuth Railscast 教程中的 DangerousAttributeError:创建由 ActiveRecord 定义

    我看过ActiveRecord 危险属性错误以及 SO 上的其他类似线程 但它们没有解决相同的问题 我正在关注omniauth教程 http railscasts com episodes 235 omniauth part 1 view
  • C++ 使用 Boost.asio 和 Beast 库在正文中发送数据

    我必须使用 C 库将数据发送到我们公司的 REST Web 服务 我从 Boost 开始 Beast并给出示例hereUbuntu 16 04 环境中的 Code Blocks 下 该文档对我解决以下问题没有帮助 我的代码或多或少与示例相同