node-red - 如何在节点红色中进行http重定向?

标签 node-red

我需要重定向到另一个网址。我正在使用 nodered 请求一个 url,然后获取用户名和密码,在 cloudant 数据库中检查它们,在确认它们存在之后,我需要重定向到另一个/home。 是否有要重定向的节点?我尝试使用 http 请求节点,但它只是在 json 或二进制文件中获得响应,而不是重定向 url。如何在nodered中重定向?

最佳答案

为了触发重定向,您需要做两件事:

  1. 将响应的状态码设置为合适的值
  2. location header 设置为要重定向到的 url。

引用HTTP Response节点的帮助,可以直接在HTTP Response节点中设置状态码,也可以在消息上设置msg.statusCode传递节点。

您设置的值将取决于您要执行的重定向类型 - 无论是永久重定向还是临时重定向。

例如,一种常见的模式是将创建资源的 POST 请求重定向到新资源的 GET 请求。这将是使用 303 作为状态代码的临时重定向。

This对于不同类型的重定向代码是一个很好的引用。

要设置 Location header ,您可以再次在 HTTP Response 节点中对其进行硬编码,或者在 msg.headers 属性下进行设置。

例如,如下所示的函数节点可以执行此操作:

msg.statusCode = 303;
msg.headers = {
    Location: "https://google.com"
}
delete msg.payload;
return msg;

您也可以使用 Change 节点来执行相同的操作:

enter image description here

关于node-red - 如何在节点红色中进行http重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50845797/

相关文章:

javascript - 实现实时传感器仪表板

node.js - 监视创建的文件的文件夹并使用 Node RED 将创建的文件上传到服务器

node.js - 在 root 模式下设置 Node-red 密码

ibm-cloud - 在 Node-Red 中指定函数节点上的输出

javascript - 将不同的 MQTT 主题数据合并到红色节点中的一个 JSON 字符串中

azure - 节点红色 - 无法连接 : getaddrinfo ENOTFOUND xxx-device-hub. azure-devices.net”

javascript - 未以 Node-Red 显示的其他 Node (Windows 8)

hadoop - Apache Hadoop 绑定(bind)问题的节点样板和分析

javascript - node-red 无法在 JS 标签下的模板 Node 上获取 msg.payload

javascript - Node-Red 多个输出到 CSV