使用 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
我正在尝试使用 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