NodeREDGuidUKR

ДОВІДНИК З NODE-RED українською мовою

<- На головну Розділ

HTTP requests (робота з клієнтськими запитами)

img Відправляє запити HTTP і повертає відповідь на нього (рис.8.1).

img

рис.8.1. Налаштування вузлу HTTP requests

В якості вхідного значення приймає наступні властивості повідомлень:

На виході формує:

Якщо сконфігуровано у вузлі, властивість URL може містити теги mustache-style. Вони дозволяють створювати URL, використовуючи значення вхідного повідомлення. Наприклад, якщо URL-адресу встановлено example.com/} в це місце буде автоматично додано ` msg.topic. Використання } запобігає вилученню з mustache символів на зразок /, &` і т.д.

Вузол необов’язково може автоматично кодувати msg.payload як параметри рядка запиту для GET-запиту, в цьому випадку ` msg.payload` повинен бути об’єктом.

Примітка: Якщо запускається за проксі-сервері, необхідно встановити стандартну змінну середовища http_proxy=... і перезапустити Node-RED, або використовувати вузол Proxy Configuration. Якщо було встановлено вузол Proxy Configuration, конфігурація цього вузлу має перевагу перед змінною середовища.

Використання кількох вузлів HTTP Request

Для того щоб використовувати більше одного з таких вузлів в тому самому потоці, необхідно дотримуватися властивості msg.headers. Перший вузол встановить цю властивість з заголовками відповіді. Тоді наступний вузол буде використовувати ці заголовки для свого запиту - це звичайно не правильно. Якщо властивість msg.headers залишається незмінною між вузлами, вона буде ігноруватися другим вузлом. Щоб встановити користувальницькі заголовки, msg.headers слід спочатку видалити або скинути порожнім об’єктом: {}.

Властивість cookies, передана вузлу, повинна бути об’єктом з парою ім’я/значення. Значення для встановлення значення cookie може бути string, або об’єктом з єдиною властивістю value.

Будь-які файли cookie, повернені запитом, передаються назад у властивості responseCookies.

Обробка Content type

Якщо msg.payload є Object, вузол буде автоматично встановлювати тип контенту запиту в application/json і кодувати тіло відповідним чином.

Для кодування запиту як форми даних, msg.headers["content-type"] буде встановлюватися як application/x-www-form-urlencoded.

File Upload

Для виконання запиту завантаження файлу, msg.headers["content-type"] слід встановити на “ multipart/form-data , а msg.payload , переданий у вузол, повинен бути об’єктом із такою структурою:

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

Значення KEY, FILE_CONTENTS та FILENAME слід встановити у відповідні значення.