如何在节点红色中进行http重定向?
How to make http redirect in node red?
我需要重定向到另一个 url。我正在使用 nodered 请求 url,然后获取用户名和密码,在 cloudant 数据库中检查它们,在确认它们存在之后,我需要重定向到另一个 /home。
是否有要重定向的节点?我尝试使用 http 请求节点,但它只是在 json 或二进制文件中得到响应,没有重定向 url。如何在nodered中重定向?
为了触发重定向,您需要做两件事:
- 将响应的状态码设置为合适的值
- 将
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 节点来做同样的事情:
我需要重定向到另一个 url。我正在使用 nodered 请求 url,然后获取用户名和密码,在 cloudant 数据库中检查它们,在确认它们存在之后,我需要重定向到另一个 /home。 是否有要重定向的节点?我尝试使用 http 请求节点,但它只是在 json 或二进制文件中得到响应,没有重定向 url。如何在nodered中重定向?
为了触发重定向,您需要做两件事:
- 将响应的状态码设置为合适的值
- 将
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 节点来做同样的事情: