106 lines
9.1 KiB
HTML
106 lines
9.1 KiB
HTML
<!--
|
||
Copyright JS Foundation and other contributors, http://js.foundation
|
||
|
||
Licensed under the Apache License, Version 2.0 (the "License");
|
||
you may not use this file except in compliance with the License.
|
||
You may obtain a copy of the License at
|
||
|
||
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
||
Unless required by applicable law or agreed to in writing, software
|
||
distributed under the License is distributed on an "AS IS" BASIS,
|
||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
See the License for the specific language governing permissions and
|
||
limitations under the License.
|
||
-->
|
||
|
||
<script type="text/html" data-help-name="http request">
|
||
<p>
|
||
Отправляет HTTP-запрос и возвращает ответ.
|
||
</p>
|
||
|
||
<h3>Принимает</h3>
|
||
<dl class="message-properties">
|
||
<dt class="optional">url <span class="property-type">строка</span></dt>
|
||
<dd>Если 'URL' не установлен в узле, это необязательное свойство устанавливает URL запроса.</dd>
|
||
<dt class="optional">method <span class="property-type">строка</span></dt>
|
||
<dd>Если 'метод' не установлен в узле, это необязательное свойство устанавливает HTTP-метод запроса. Должно быть <code>GET</code>, <code>PUT</code>, <code>POST</code>, <code>PATCH</code> или <code>DELETE</code>.</dd>
|
||
<dt class="optional">headers <span class="property-type">объект</span></dt>
|
||
<dd>Устанавливает заголовки HTTP запроса.</dd>
|
||
<dt class="optional">cookies <span class="property-type">объект</span></dt>
|
||
<dd>Если установлено, может использоваться для отправки куки с запросом.</dd>
|
||
<dt class="optional">payload</dt>
|
||
<dd>Отправляется как тело запроса.</dd>
|
||
<dt class="optional">rejectUnauthorized</dt>
|
||
<dd>Если установлено значение <code>false</code>, разрешает отправлять запросы на сайты https, которые используют самозаверенные сертификаты.</dd>
|
||
<dt class="optional">followRedirects</dt>
|
||
<dd>Если установлено значение <code>false</code>, запрещает переадресацию (HTTP 301). По умолчанию <code>true</code>.</dd>
|
||
<dt class="optional">requestTimeout</dt>
|
||
<dd>Если задано положительное число миллисекунд, будет переопределен глобально заданный параметр <code>httpRequestTimeout</code>.</dd>
|
||
</dl>
|
||
|
||
<h3>Выводит</h3>
|
||
<dl class="message-properties">
|
||
<dt>payload <span class="property-type">строка | объект | буфер</span></dt>
|
||
<dd>Тело ответа. Узел можно настроить так, чтобы он возвращал тело в виде строки, пытался проанализировать его как строку JSON или оставлял его в виде двоичного буфера.</dd>
|
||
<dt>statusCode <span class="property-type">число</span></dt>
|
||
<dd>Код статуса ответа или код ошибки, если запрос не может быть выполнен.</dd>
|
||
<dt>headers <span class="property-type">объект</span></dt>
|
||
<dd>Объект, содержащий заголовки ответа.</dd>
|
||
<dt>responseUrl <span class="property-type">строка</span></dt>
|
||
<dd>Если при обработке запроса произошли перенаправления, это свойство является окончательным перенаправленным URL-адресом. В противном случае, URL исходного запроса.</dd>
|
||
<dt>responseCookies <span class="property-type">объект</span></dt>
|
||
<dd>Если ответ содержит куки, это свойство является объектом пар имя/значение для каждого из них.</dd>
|
||
<dt>redirectList <span class="property-type">массив</span></dt>
|
||
<dd>Если запрос был перенаправлен один или несколько раз, накопленная информация будет добавлена в это свойство. `location` - это следующий пункт назначения перенаправления. `cookies` - это куки, возвращаемые из источника перенаправления.</dd>
|
||
</dl>
|
||
|
||
<h3>Подробности</h3>
|
||
<p>
|
||
При настройке внутри узла свойство URL может содержать <a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache</a>-теги. Это позволяет построить URL-адрес, используя значения входящего сообщения. Например, если для URL-адреса задано значение <code>example.com/{{{topic}}}</code>, то автоматически будет вставлено значение <code>msg.topic</code>. Использование {{{...}}} предотвращает HTML-кодирование таких символов, как / & и т.д.
|
||
</p>
|
||
<p>
|
||
Узел может также автоматически кодировать <code>msg.payload</code> как параметры для GET-запроса. В этом случае <code>msg.payload</code> должен быть объектом.
|
||
</p>
|
||
<p>
|
||
<b>Примечание</b>. При работе через прокси-сервер следует либо установить стандартную переменную среды <code>http_proxy=...</code> и перезапустить Node-RED, либо использовать конфигурацию прокси-сервера. Если была установлена конфигурация прокси, то она имеет приоритет над переменной среды.
|
||
</p>
|
||
|
||
<h4>Использование нескольких узлов HTTP-запросов</h4>
|
||
<p>
|
||
Чтобы использовать несколько таких узлов в одном потоке, нужно позаботиться о свойстве <code>msg.headers</code>. Первый узел установит это свойство с заголовками ответа. Затем следующий узел будет использовать эти заголовки для своего запроса - обычно это неправильный подход. Если свойство <code>msg.headers</code> остается неизменным между узлами, оно будет проигнорировано вторым узлом. Чтобы установить свои заголовки, сначала необходимо удалить <code>msg.headers</code> или сбросить это свойство до пустого объекта: <code>{}</code>.
|
||
</p>
|
||
|
||
<h4>Обработка куки</h4>
|
||
<p>
|
||
Свойство <code>cookies</code>, передаваемое узлу, должно быть объектом из пар имя/значение. Значением может быть либо строка для установки значения куки, либо это может быть объект с единственным свойством <code>value</code>.
|
||
</p>
|
||
<p>
|
||
Все куки, возвращаемые запросом, передаются обратно в свойстве <code>responseCookies</code>.
|
||
</p>
|
||
|
||
<h4>Обработка типов контента</h4>
|
||
<p>
|
||
Если <code>msg.payload</code> является объектом, узел автоматически установит тип содержимого запроса в <code>application/json</code> и закодирует тело соответствующим образом.
|
||
</p>
|
||
<p>
|
||
Чтобы закодировать запрос как данные формы, для <code>msg.headers["content-type"]</code> должно быть установлено <code>application/x-www-form-urlencoded</code>.
|
||
</p>
|
||
|
||
<h4>Загрузка файла</h4>
|
||
<p>
|
||
Чтобы выполнить загрузку файла, для <code>msg.headers["content-type"]</code> должно быть установлено значение <code>multipart/form-data</code>, а <code>msg.payload</code> переданный на узел должен быть объектом со следующей структурой:
|
||
</p>
|
||
<pre><code>{
|
||
"КЛЮЧ": {
|
||
"value": СОДЕРЖИМОЕ_ФАЙЛА,
|
||
"options": {
|
||
"filename": "ИМЯ_ФАЙЛА"
|
||
}
|
||
}
|
||
}</code></pre>
|
||
<p>
|
||
На местах <code>КЛЮЧ</code>, <code>СОДЕРЖИМОЕ_ФАЙЛА</code> и <code>ИМЯ_ФАЙЛА</code> должны быть установлены соответствующие значения.
|
||
</p>
|
||
|
||
</script>
|