首页 > 技术知识 > 正文

上一期我们讲到了Node-RED中存储file分类节点的使用,利用存储节点我们可以创建文件,追加内容到指定文件, 监听一些文件的写入

本篇文章我来给大家讲一下Node-RED中网络network分类下的节点,该分类下有12个节点,

mqtt in 连接到MQTT代理并订阅来自指定主题的消息。 mqtt out 连接到MQTT代理并发布消息。 http in 创建用于创建Web服务的HTTP端点。 http response 将响应发送回从HTTP输入节点接收的请求。 http request 发送HTTP请求并返回响应。 websocket in WebSocket输入节点。 websocket out WebSocket输出节点。 tcp in 提供TCP输入选择。可以连接到远程TCP端口,或接受传入连接。 tcp out 提供TCP输出的选择。可以连接到远程TCP端口,接受传入的连接,或回复从TCP In节点收到的消息。 tcp request 一个简单的TCP请求节点。将msg.payload发送到服务器tcp端口,并期望得到响应。 udp in UDP 输入节点。在msg.payload中生成Buffer,字符串或Base64编码的字符串。支持组播。 upd out 该节点将msg.payload发送到指定的UDP主机和端口。支持组播。

这一模块是Node-red的核心模块,如果要与硬件,设备通信,都要通过该模块来实现。由于本章节点过多,所以分多期来讲,这一期我们先来看看 http in,http out, http request, “

http in

该节点可以用于创建一个web服务的http接口,支持的方法有以下几种 Node-RED系列(八):Node-RED网络节点的使用 GET, POST, PUT, DELETE PATHC, 也支持POST上传文件 编写一个接口很简单

创建一个Http in 节点 使用函数 function 节点来处理要返回的数据 使用http out节点来返回数据到客户端

这就是一个完成的http请求链路。

该节点向后输出的内容有

payload GET请求包含任何查询字符串参数的对象。或者包含HTTP请求正文。 reqHTTP请求对象。该对象包含有关请求信息的多个属性。

body – 传入请求的正文。格式将取决于请求。 headers – 包含HTTP请求标头的对象。 query – 包含任何查询字符串参数的对象。 params – 包含任何路由参数的对象。 cookies – 包含请求cookie的对象。 files – 如果节点启用了文件上传,则为包含了上传的文件的对象。

res HTTP响应对象。此属性不应直接使用;HTTP Response节点记录了如何响应请求。该属性必须保留在传递给响应节点的消息上。

我们创建这样一个接口 Node-RED系列(八):Node-RED网络节点的使用1

接口的路径是 /getname 使用get请求

然后在后方添加一个function节点 Node-RED系列(八):Node-RED网络节点的使用2

这样就可以在flow中追加payload消息体了

http response

这个节点是为了将HTTP响应发送回客户端, 返回的消息体有这几个元素

payload 响应的正文。 statusCode 如果设置,则用作响应状态代码。默认值:200。 headers 如果设置,则提供HTTP头以包含在响应中。 cookies 如果设置,则可用于设置或删除cookie。

创建一个http response 追击到上一步的流中 Node-RED系列(八):Node-RED网络节点的使用3

Node-RED系列(八):Node-RED网络节点的使用4

部署后,在浏览器输入 ip:port/getname 会看到这样一个返回体 Node-RED系列(八):Node-RED网络节点的使用5

http request

该节点发送HTTP请求并返回响应。 有输入,有输出 输入有这些参数

url 如果未在节点中配置,则此可选属性设置请求的url。 method 如果未在节点中配置,则此可选属性设置请求的HTTP方法。必须是GET,PUT,POST,PATCH或DELETE之一。 headers 设置请求的HTTP头。 cookies 如果设置,则可用于发送带有请求的cookie。 payload 发送为请求的正文。 rejectUnauthorized 如果设置为false,则允许对使用自签名证书的https站点进行请求。 followRedirects 如果设置为false,则阻止遵循重定向(HTTP 301)。默认情况下为true requestTimeout 如果设置为正数毫秒,将覆盖全局设置的httpRequestTimeout参数。

输出的参数

payload 响应的正文。可以将节点配置为以字符串形式返回主体,尝试将其解析为JSON字符串或将其保留为二进制buffer。 statusCode 响应的状态码,如果请求无法完成,则返回错误码。 headers 包含响应头的对象。 responseUrl 如果在处理请求时发生任何重定向,则此属性为最终重定向的URL。否则则为原始请求的URL。 responseCookies 如果响应包含cookie,则此属性是每个cookie的‘名称/值’键值对的对象。 redirectList 如果请求被重定向了一次或多次,则累积的信息将被添加到此属性。“location”是下一个重定向目标。cookie是从重定向源返回的cookie。

这里给出一个示例 Node-RED系列(八):Node-RED网络节点的使用6

请求一个接口,可以配置证书, 选择请求方式

然后在节点前添加,inject节点,用于触发接口,在节点后追加 debug节点打印消息

Node-RED系列(八):Node-RED网络节点的使用7

部署后触发流 Node-RED系列(八):Node-RED网络节点的使用8

猜你喜欢