【问题标题】:How to send C++ data to PHP with post request and what is allowed to send?如何通过 post 请求将 C++ 数据发送到 PHP 以及允许发送什么?
【发布时间】:2012-12-20 10:38:29
【问题描述】:

好的,所以我有一个游戏,它需要使用 post 请求将一些内容从 C++ 发送到 PHP 页面。

我的问题是:
如何发送发布请求? 我可以向 PHP 发送什么样的数据? (只是字符串和整数还是整个集合?)

【问题讨论】:

  • 我猜你想看看 libcurl:curl.haxx.se/libcurl - 尽管它可以处理更多,但它是用 c++ 做这些事情的最简单的库
  • cURL 将帮助您从 C(以及 C++)发送 post 请求。您应该阅读有关 HTTP 和 GET/POST 的更多信息,从 Wikipedia 开始。基本上你可以通过 POST 发送你喜欢的任何东西,但是你需要序列化你的数据。

标签: php c++ http-post


【解决方案1】:

如何发送帖子请求?

这通常使用 HTTP 库来完成。我自己没有在 C++ 中使用过,但 cURL 跨平台很流行,并且具有 [C++ 绑定][1](尽管目前文档似乎正在迁移)。

有更多关于主题in this question的信息。

我可以向 PHP 发送什么样的数据?

几乎任何您喜欢的数据 - 但它必须是一种数据格式,而不是一种数据结构。如果要发送集合,则需要将其序列化为某种格式。 JSON 是一种流行的格式。二进制数据可以使用base64编码。

如果您确实使用 JSON,您可以添加第二层编码以发送 application/x-www-form-urlencoded 并通过 $_POST 访问原始 JSON,或者您可以将 JSON 作为 POST 请求的整个主体和 get the body of the post在 PHP 中。

【讨论】:

    【解决方案2】:

    您说您通过 POST 请求发送的事实告诉我您正在使用 HTTP 服务器来提供您的 PHP 脚本。在这种情况下,您需要一个允许您发送 HTTP 请求的库。一个非常受欢迎的选择是libcURL。你能寄什么?您可以发送 HTTP 请求允许您发送的任何内容。所以你喜欢什么。

    【讨论】:

      【解决方案3】:

      您可以使用 JSON 或 SOAP 来发送数据。当传递少量数据时,首选 JSON。更多信息JSON/SOAP

      【讨论】:

        【解决方案4】:

        要构建 HTTP 请求,请考虑使用 libcurl 并最终使用其 c++ 包装器 curlpp

        你可以发送你想要的任何东西到 php,但不要忘记来自 HTTP 的所有数据都将是 php 的字符串。 PHP 可以使用 intval()(int) 转换为 int 等类型,但二进制数据处理起来会更复杂。

        考虑使用一些标准,如 json 和 REST 来建立强大的通信。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2015-07-08
          • 1970-01-01
          • 1970-01-01
          • 2017-04-30
          • 2017-10-09
          • 2014-09-15
          • 2011-06-10
          • 1970-01-01
          相关资源
          最近更新 更多