编写一个node-red流程,可以响应web访问。web访问两个路径,当访问127.0.0.1:1880/time时,系统给出如下信息:"现在时间是 {当前时间};同时要把每次访问的时间计入d:\log.txt文件中。计入的日子要求每个访问占一行,并且要有访问的目录和时间信息。
时间: 2024-10-21 07:01:55 浏览: 63
FTP-document.rar_fit//127.0.0.1:5050_ftb 127.0.0.1 2121_ftb:127.
在Node-RED中创建一个流程以响应Web访问,首先需要安装`http-in`和`file`节点,它们分别用于接收HTTP请求和操作文件。下面是一个简化的步骤说明:
1. **打开Node-RED**: 打开浏览器并访问 `http://localhost:1880` 来启动Node-RED。
2. **添加HTTP输入节点**: 点击"flows"面板顶部的"+"按钮,选择"功能" > "HTTP in",然后拖拽到画布上,设置URL为`/time`。
3. **添加函数节点**: 在HTTP节点下方右键点击并选择"插入", 然后选择"function",编写JavaScript代码以获取当前时间和记录日志:
```javascript
[
{
"topic": "time",
"payload": function(msg) {
var currentTime = new Date().toLocaleString();
msg.payload = "现在时间是 " + currentTime;
// 记录日志
var logFile = require('fs').createWriteStream('D:\\log.txt', 'a');
logFile.write('\n[' + msg.topic + '] - [' + currentTime + ']');
return msg;
},
"output": "true"
}
]
```
在这个函数节点中,我们设置了消息主题为"time",将当前时间作为payload返回,并在指定的文本文件追加新的访问记录。
4. **保存并运行**: 确保代码无误后,点击"工具"菜单中的"保存",然后点击"Deploy"部署流程。
现在当你访问 `http://127.0.0.1:1880/time` 时,Node-RED将返回当前时间,并将该访问记录添加到`D:\log.txt` 文件中。
阅读全文