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

How to make http redirect in node red?

我需要重定向到另一个 url。我正在使用 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 节点来做同样的事情: