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

Hat*_*out 1 node-red

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

kno*_*ary 5

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

  1. 将响应的状态代码设置为适当的值
  2. location标题设置为要重定向到的URL.

参考HTTP Response节点的帮助,您可以直接在HTTP响应节点中设置状态代码,也可以通过设置msg.statusCode消息来传递节点.

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

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

是不同类型的重定向代码的良好参考.

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

例如,如下所示的Function节点会执行此操作:

msg.statusCode = 303;
msg.headers = {
    Location: "https://google.com"
}
delete msg.payload;
return;
Run Code Online (Sandbox Code Playgroud)

您还可以使用Change节点执行相同操作:

在此输入图像描述