Http 使用节点RED发布二进制缓冲区有效负载

Http 使用节点RED发布二进制缓冲区有效负载,http,node-red,protobuf.js,Http,Node Red,Protobuf.js,我正在尝试使用节点RED通过POST发送字节数组。我可以使用并将其存储在msg.payload中成功创建缓冲区。但是,我不知道如何将其作为参数添加到http请求节点中 接收应用程序需要包含引号。因此,我在以下url中使用有效负载:localhost:port/path?var=\“{{payload}}\”,但它给出 “将http参数转换为参数时出错:查找值开头的字符'\'无效” 如果在请求url中不加引号地使用它:localhost:port/path?var={{{payload}则什么都无

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

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

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

如果在请求url中不加引号地使用它:
localhost:port/path?var={{{payload}
则什么都无法通过(我可以在另一端看到)


由于另一端的应用程序,我正在使用Protobuf,但我也尝试创建一个缓冲区,如下所述。但是,没有任何更改。

帖子的URL中不应包含参数。数据都应该在正文中

您是否需要将
msg.payload
设置为具有与参数名称匹配的键的对象

msg.payload = {
  var = [buffer]
}
您可能需要处理content-type标题,因为默认情况下,我相信Node-RED将发送一个JSON正文,您可能需要
application/x-www-form-urlencoded


您可以通过添加
msg来设置标头。headers
对象

我已经尝试将var合并到负载中,就像您描述的那样,并设置了标头对象,但是,http请求中仍然没有包含var的内容。显然,接收应用程序进行了自己的序列化,导致了看似空洞的回应。然而,成功与否取决于您的内容类型建议和
msg.payload
对象声明,因此感谢您!