Node-Red Http Request Node Output - PullRequest
0 голосов
/ 09 октября 2019

У меня есть функциональный узел, который предоставляет IP-адрес для msg.payload. И этот IP-адрес никогда не бывает прежним. От узла функции, который предоставляет IP-адрес, он переходит к узлу HTTP-запроса. Затем узел HTTP-запроса должен что-то сделать с указанным IP-адресом. Внутри моего узла HTTP-запроса я использовал этот

http://+{{msg.payload}}+/control?cmd=GPIO,1,1

, поскольку msg.payload всегда отличается. Не работаетЯ делаю что-то не так с этим? +{{msg.payload}}+ потому что я пробовал следующее: {{msg.payload}}

{{{msg.payload}}}

+{{msg.payload}}+

И, похоже, ни один из них не работает.

Пожалуйста, помогите.

1 Ответ

0 голосов
/ 09 октября 2019

На боковой панели информации для узла http-request:

При настройке внутри узла свойство URL может содержать теги в виде усов. Это позволяет построить URL-адрес, используя значения входящего сообщения. Например, если для URL-адреса задано значение example.com/ndomумыatelltopic}}}, в него будет автоматически вставлено значение msg.topic. Использование {{{...}}} предотвращает экранирование усами таких символов, как / & etc

Чтобы включить msg.payload в URL с использованием синтаксиса усов, вы должны сделать следующее:

http://{{payload}}/control?cmd=GPIO,1,1

Или вы можете оставить поле URL пустым и передать весь URL через объект msg с ключом url.

, например, скажем, в узле function перед http-requestУзел установил следующее:

msg.url = "http://" + msg.payload + "/control?cmd=GPIO,1,1";
return msg;
...