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

这把我C 2021-01-25 00:00:00 26754

上一期我们讲到了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接口,支持的方法有以下几种

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节点记录了如何响应请求。该属性必须保留在传递给响应节点的消息上。

我们创建这样一个接口

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

然后在后方添加一个function节点

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

http response

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

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

创建一个http response 追击到上一步的流中

部署后,在浏览器输入 ip:port/getname
会看到这样一个返回体

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。

这里给出一个示例

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

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

部署后触发流

声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 79 11 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
这把我C
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区