首页专栏详情
打赏
Node-RED系列(八):Node-RED网络节点的使用
易百纳技术社区 不完整教程 2021-01-25 00:00:00

上一期我们讲到了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节点打印消息

部署后触发流


声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。

20125
11
79
打赏
共2人已赏
完整的教程https://fizzz.blog.csdn.net。该网站都是残缺
评论
0个
内容存在敏感词
相关专栏
打赏作者
易百纳技术社区
不完整教程
您的支持将鼓励我继续创作!
打赏金额:
¥1 易百纳技术社区
¥5 易百纳技术社区
¥10 易百纳技术社区
¥50 易百纳技术社区
¥100 易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区 微信支付
易百纳技术社区
打赏成功!

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

审核成功

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

审核失败

失败原因
备注
Loading...
易百纳技术社区
确定要删除此文章、专栏、评论吗?
确定
取消
易百纳技术社区
易百纳技术社区
在专栏模块发布专栏,可获得其他E友的打赏
易百纳技术社区
回答悬赏问答,被题主采纳后即可获得悬赏金
易百纳技术社区
在上传资料时,有价值的资料可设置为付费资源
易百纳技术社区
达到一定金额,收益即可提现~
收益也可用来充值ebc,下载资料、兑换礼品更容易
易百纳技术社区
活动规则
  • 1.周任务为周期性任务,每周周一00:00刷新,上周完成的任务不会累计到本周,本周需要从头开始任务,当前任务完成后才可以完成下一个任务
  • 2.发布的专栏与资料需要与平台的板块有相关性,禁止注水,专栏/资料任务以审核通过的篇数为准,专栏需为原创文章且首次在社区发布
  • 3.任务完成后,现金奖励直接打款到微信账户;EBC/收益将自动发放到个人账户,可前往“我的钱包”查看;其他奖励请联系客服兑换
易百纳技术社区
升级提醒
易百纳技术社区

恭喜您由入门

社区送出礼品一份

请填写您的收件地址,礼品将在3个工作日寄出

易百纳技术社区