0

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

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

“将 http 参数转换为 args 时出错:无效字符 '\' 寻找值的开头”

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

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

4

1 回答 1

1

POST 在 URL 中不应有参数。数据应该都在正文中。

您是否需要msg.payload使用与 arg 名称匹配的键来创建对象。

msg.payload = {
  var = [buffer]
}

您可能不得不使用 content-type 标头,因为默认情况下我相信 Node-RED 会发送 JSON 正文,您可能想要application/x-www-form-urlencoded

msg.headers您可以通过添加对象来设置标题

于 2017-08-15T17:50:12.487 回答