如何在不使用套接字的情况下使用C ++发送POST请求

时间:2019-11-11 12:33:30

标签: c++ python-3.x http post http-post

我有发送POST请求并获取json的python代码,我需要用C ++(Windows 10,Visual Studio 2019)重写它。我不了解哪些工具可以真正完成我所需的一切而又无需使代码复杂化。

将有一个控制台应用程序,必须发送请求以发送或接收数据,更确切地说是视频流。 我读过有关Boost.Asio的文章,但它似乎仅适用于套接字,没有它们,有什么办法吗?起初,我想使用它,因为它最著名。我读到有关сurl的信息,但是很久没有更新了,它仍然有意义吗?

    headers_predict = {
        "Content-type": "application/json;charset=UTF-8",
        "Accept": "application/json",
        "X-Session-ID": session_id
        }
    data_predict = {
      "audio": {
          "data": sound_base64,
          "mime": "audio/pcm16"
          },
      "package_id": ""
      }
    url = 'https://cp.speechpro.com/recognize'
    r = requests.post(url, headers=headers_predict, 
    data=json.dumps(data_predict))
    print('Response: %s' % r.text)

我不想使用套接字,因为我不了解它们。 我需要能够将标头和数据设置为json。

1 个答案:

答案 0 :(得分:3)

  

套接字,没有它们,有什么办法吗?

从技术上讲,HTTP不指定基础传输协议,它可以与任何类型的流传输一起使用。例如,您可以将请求写入文件。

但是,如果您当前使用TCP且不想更改它,则必须使用套接字。如果使用现有的HTTP客户端库,则无需直接与它们进行交互。