【问题标题】:Node-red HTTP POST parameters节点红色 HTTP POST 参数
【发布时间】:2018-08-08 22:17:22
【问题描述】:

有人可以帮我把这个有效的 curl 命令翻译成节点红色的 POST 命令吗?

curl -X POST http://URL -H "Authorization: 123123123" -d "subjectUid=789789789"

这是我的部分工作功能节点,它创建参数并推送到 http 节点:

msg.headers = {};
msg.headers={ 
    'Authorization':  '123123123'
};

msg.payload = {};
msg.payload={ 
    'subjectUid': '789789789'
};

return msg

auth token 被接受,但是服务器回复没有设置 subjectUid。我做错了什么?

【问题讨论】:

  • 服务器接受什么内容类型?
  • 不确定服务器规格,但与 curl 的默认设置不同,node-red 的默认设置似乎不兼容。您的解决方案已解决。

标签: node.js http curl node-red


【解决方案1】:

这将是默认情况下,post 消息将在 msg.payload 对象的 JSON 表示上转发,您想要的是表单编码。

尝试添加以下标题:

msg.headers = {};
msg.headers={ 
    'Authorization':  '123123123',
    'Content-Type': 'application/x-www-form-urlencoded'
};

msg.payload = {};
msg.payload={ 
    'subjectUid': '789789789'
};

return msg

【讨论】:

  • 它有效,谢谢。您是否还可以编辑您的答案以建议等效语法以使其使用更简单的注入和/或更改节点工作?使用全脂函数节点只是将字符串注入流中没有多大意义。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-22
  • 1970-01-01
相关资源
最近更新 更多