我需要重定向到另一个网址。我正在使用 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 节点来执行相同的操作:
关于node-red - 如何在节点红色中进行http重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50845797/