Node-RED:Рецепты/Как вернуть HTTP-ответ в виде двоичных данных

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Версия для печати больше не поддерживается и может содержать ошибки обработки. Обновите закладки браузера и используйте вместо этого функцию печати браузера по умолчанию.

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Как вернуть HTTP-ответ в виде двоичных данных[1]

Проблема

Вам нужно вернуть ответ на HTTP-запрос в виде буфера двоичных данных.

Решение

По умолчанию нода «HTTP request» сохраняет тело ответа в свойство «msg.payload» в виде строки. Задайте в опции «Return» этой ноды настройку «a binary buffer». В результате HTTP-ответ будет сохраняться в свойство «msg.payload» в виде буфера двоичных данных.

Пример

[{"id":"871ee927.0d69c8","type":"inject","z":"c9a81b70.8abed8","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":240,"y":660,"wires":[["8ea4e52a.03d678"]]},{"id":"8ea4e52a.03d678","type":"http request","z":"c9a81b70.8abed8","name":"binary http request","method":"GET","ret":"bin","url":"http://localhost:1880/binary","tls":"","x":410,"y":660,"wires":[["70309d0c.4dc504"]]},{"id":"70309d0c.4dc504","type":"debug","z":"c9a81b70.8abed8","name":"","active":true,"console":"false","complete":"false","x":590,"y":660,"wires":[]}]

Пример выше – это отредактированный поток из примера «Как задать URL запроса». В нем в ноде «HTTP request» в настройке «Return» стоит «a binary buffer», а нода «Debug» будет показывать информацию из «msg.payload» в виде буфера двоичных данных. Примерно так:

[ 80, 75, 3, 4, 20, 0, 6, 0, 8, 0  ]

См.также

Внешние ссылки