node-red中http request节点各种Request详解

freefree技术Resources

这篇内容可直接阅读,适合用于基础学习和Search引流。

node-red中http request节点各种Request详解缩略图
🌐 This page is not yet available in English. Showing the Chinese version. Back to Chinese page.
本文目录
  1. 1. 前言
  2. 2. 节点配置概述
  3. 3. 使用代码来配置http request节点
  4. 4. 表单data,文件上传

前言

在node-red中,如果你想要Request外部资源,比如获取当地天气,这个时候就可以使用http request节点,这个节点可以让你的node-red应用集成各种接口,data。不受跨域的限制,可以访问大部分的http接口。支持的Request方法也比较全,GET,PUT,POST,PATCH或DELETE都是可以的。并且支持Customization头部,cookie,Requestaddress模板化,上传文件,Request超时。等各种强大的Function。本篇文件就来详细介绍一下他的各种用法,帮助大家快速地掌握起来,提升工作效率。

节点配置概述

该节点 有输入,有输出
输入的配置项有这些

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

输出的参数

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

以上是翻译的官方英文Document。下面我们看一下具体的特殊用法。

使用代码来配置http request节点

该节点的输入参数,可以在配置面板里,配置,

但同时也可以在流中设置。
比如你要用GET方法Requesthttps://fizzz.blog.csdn.net/address。

除了在面板里配置外,你还可以这样在http request接口前使用function节点这样Request参数

msg.method = 'GET'
msg.url = 'https://fizzz.blog.csdn.net/'

除此之外,你还可以设置多个Customization的Headers
如例

msg.method = 'GET'
msg.url = 'https://fizzz.blog.csdn.net/?name=fizz&age=18'
msg.headers = {}
msg.headers['X-Auth-User'] = 'fizz'
msg.headers['X-Auth-Key'] = 'fizz-key'

在配置http request 节点的配置参数中,你可以使用模板来引用msg中的变量
如下,将url配置成这样
https://{{domin}}.blog.csdn.net/

变量domin在上游注入到msg中msg.domin

当你使用的是POSTRequest时,参数应该这样设置

msg.method = 'POST'
msg.url = 'https://fizzz.blog.csdn.net/?name=fizz&age=18'
msg.payload = {}
msg.payload.name = 'fizz'
msg.payload.key = 'fizz-key'

表单data,文件上传

如果请data为表单data,应将msg.headers[“content-type”]设置为application/x-www-form-urlencoded

对于上传文件的Scene,需要特殊设置一下http request节点

要执行文件上传,应将msg.headers[“content-type”]设置为multipart/form-datamsg.payload传递给节点的必须是具有以下结构的对象:

{
    "KEY": {
        "value": FILE_CONTENTS,
        "options": {
            "filename": "FILENAME"
        }
    }
}

KEY,FILE_CONTENTS和FILENAME的值应设置为适当的值。

来源/Tools信息 —— 点击展开
来源 Modbus Chinese Network(modbus.cn) —— China leadingModbus通信协议技术社区 Category Node-RED 字数 1970 字 · 阅读约 5 分钟 更新 2023-02-02 永久链接 https://www.modbus.cn/11543.html
Recommended Tool: Modbus Debug Assistant WeChat Mini Program
Modbus Chinese Network官方推出的Modbus DebuggingTools,支持 Modbus RTU/TCP 实时通信debug、register读写、线圈控制、data监控和message分析。 无需安装,微信Search「Modbus DebuggingAssistant」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
RelatedTags
把这篇Resources用于真实项目?

进入Tools中心进行messageParse、CRC verification和设备debug,或Submit requirements获取选型与接入建议。

工程师member

把这篇文章变成可执行的debugResources

开通后可使用高级messageParse、Resources包Download、Code Example、工程案例和优先Technical Support,适合真实项目交付。

高级Tools不限次
Resources包与代码包
Complete Engineering Case Library
优先Technical Support入口

发表回复

您的邮箱address不会被公开。 必填项已用 * 标注