簡體   English   中英

如何在不使用 sockets 的情況下在 C ++ 中發送 POST 請求

[英]How can I send a POST request in C ++ without using sockets

我有 python 代碼發送 POST 請求並獲得 json,我需要在 C ++(Windows 10,Visual Studio 2019)中重寫它。 我不明白什么工具可以真正完成我需要的一切而不會使代碼復雜化。

將有一個控制台應用程序必須發送請求以發送或接收數據,更准確地說是視頻 stream。 我讀到了 Boost.Asio,但它似乎只適用於 sockets,沒有它們有什么辦法嗎? 起初我想用它,因為它最有名。 看了關於 с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)

我不想使用 sockets,因為我不了解它們。 我需要能夠將 header 和數據設置為 json。

sockets,沒有它們有什么辦法嗎?

從技術上講,HTTP 沒有指定底層傳輸協議,它可以與任何類型的流傳輸一起使用。 例如,您可以將請求寫入文件。

但是,如果您當前使用 TCP 並且不想更改它,那么您必須使用 sockets。 如果您使用現有的 HTTP 客戶端庫,則無需直接與它們交互。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM