使用 Node-RED 发布二进制缓冲区负载

Posting binary buffer payload using Node-RED

我正在尝试使用 Node-RED 通过 POST 发送一个字节数组。我可以使用 this module 成功创建缓冲区并将其存储在 msg.payload 中。但是我不知道如何将它作为参数添加到 http 请求节点中。

接收应用程序需要附上引号。所以我在下面url中使用了payload:localhost:port/path?var=\"{{payload}}\",但它给出了

"Error converting http params to args: invalid character '\' looking for beginning of value"

如果在请求中使用它 url 不带引号:localhost:port/path?var={{payload}} 没有任何通过(我可以在另一端看到)。

由于另一端的应用程序,我正在使用 Protobuf,但我也尝试创建一个缓冲区,如此处所述。然而,什么都没有改变。

POST 不应在 URL 中包含参数。数据应该都在body.

您是否需要将 msg.payload 设为 object,其键与 arg 名称匹配。

msg.payload = {
  var = [buffer]
}

您可能需要尝试使用 content-type header,因为默认情况下我相信 Node-RED 会发送 JSON body,您可能想要 application/x-www-form-urlencoded

您可以通过添加 msg.headers object

来设置 header