98 lines
		
	
	
	
		
			6.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
	
		
			6.4 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>Senden von HTTP-Anforderungen und Rückgabe der Antwort.</p>
 | |
|     <h3>Eingangsdaten</h3>
 | |
|     <dl class="message-properties">
 | |
|         <dt class="optional">url <span class="property-type">string</span></dt>
 | |
|         <dd>Wenn nicht im Node eingestellt, setzt diese optionale Eigenschaft die URL der Anforderung.</dd>
 | |
|         <dt class="optional">method <span class="property-type">string</span></dt>
 | |
|         <dd>Wenn nicht im Node eingestellt, setzt diese optionale Eigenschaft die HTTP-Methode der Anforderung
 | |
|             (<code>GET</code>, <code>PUT</code>, <code>POST</code>, <code>PATCH</code> oder <code>DELETE</code>).</dd>
 | |
|         <dt class="optional">headers <span class="property-type">object</span></dt>
 | |
|         <dd>HTTP-Header der Anforderung.</dd>
 | |
|         <dt class="optional">cookies <span class="property-type">object</span></dt>
 | |
|         <dd>Wenn gesetzt, kann es verwendet werden, um Cookies mit der Anforderung zu senden.</dd>
 | |
|         <dt class="optional">payload</dt>
 | |
|         <dd>Hauptteil der Anforderung.</dd>
 | |
|         <dt class="optional">rejectUnauthorized</dt>
 | |
|         <dd>Wenn auf <code>false</code> gesetzt, können Anforderungen an https-Sites gesendet werden, die selbst signierte Zertifikate verwenden.</dd>
 | |
|         <dt class="optional">followRedirects</dt>
 | |
|         <dd>Wenn auf <code>false</code> gesetzt, wird ein nachfolgendes Redirect (HTTP 301) verhindert.
 | |
|             Standard ist <code>true</code>.</dd>
 | |
|         <dt class="optional">requestTimeout</dt>
 | |
|         <dd>Wenn dieser Wert auf eine positive Zahl eingestellt ist,
 | |
|             wird damit der global eingestellte Parameter <code>httpRequestTimeout</code> überschrieben.</dd>
 | |
|     </dl>
 | |
|     <h3>Ausgangsdaten</h3>
 | |
|     <dl class="message-properties">
 | |
|         <dt>payload <span class="property-type">string | object | buffer</span></dt>
 | |
|         <dd>Hauptteil der Antwort.<br/>
 | |
|             Der Node kann eingestellt werden, um den Hauptteil als String zurückzugeben,
 | |
|             zu versuchen, ihn als JSON-String zu analysieren oder ihn als binären Puffer (buffer) zu belassen.</dd>
 | |
|         <dt>statusCode <span class="property-type">number</span></dt>
 | |
|         <dd>Statuscode der Antwort oder der Fehlercode, wenn die Anforderung nicht abgeschlossen werden konnte.</dd>
 | |
|         <dt>headers <span class="property-type">object</span></dt>
 | |
|         <dd>Objekt mit dem HTTP-Header der Antwort.</dd>
 | |
|         <dt>responseUrl <span class="property-type">string</span></dt>
 | |
|         <dd>Falls während der Bearbeitung der Anforderung Umleitungen aufgetreten sind, ist diese Eigenschaft die letzte umgelenkte URL.
 | |
|             Andernfalls die URL der ursprünglichen Anforderung.</dd>
 | |
|         <dt>responseCookies <span class="property-type">object</span></dt>
 | |
|         <dd>Wenn die Antwort Cookies enthält, ist dieses Element ein Objekt von Name/Wert-Paaren für jedes Cookie.</dd>
 | |
|     </dl>
 | |
|     <h3>Details</h3>
 | |
|     <p>Wenn innerhalb des Nodes eingestellt, kann die URL-Eigenschaft
 | |
|        <a href="http://mustache.github.io/mustache.5.html" target="_blank">mustache-style</a>-Tags enthalten.
 | |
|        Diese ermöglichen es, die URL aus den Werten der eingehenden Nachricht aufzubauen.
 | |
|        Wenn die URL beispielsweise <code>example.com/{{{topic}}}</code> lautet,
 | |
|        wird der Wert von <code>msg.topic</code> automatisch eingefügt.
 | |
|        Die Verwendung von {{{...}} hindert Mustache am Escaping von Zeichen wie z.B. / & usw.</p>
 | |
|     <p><b>Hinweis</b>: Wenn Node-RED hinter einem Proxy läuft, sollte die Umgebungsvariable <code>http_proxy=...</code>
 | |
|        gesetzt und Node-RED neu gestartet werden.
 | |
|        Alternativ kann eine Proxy-Konfiguration verwendet werden, die dann Vorrang vor der Umgebungsvariable hat.</p>
 | |
|     <h4><b>Verwendung mehrerer HTTP-Anforderungs-Nodes</b></h4>
 | |
|     <p>Um mehr als einen dieser Nodes im gleichen Flow verwenden zu können,
 | |
|        ist Aufmerksamkeit bei der Verwendung der <code>msg.headers</code>-Eigenschaft gefordert.
 | |
|        Der erste Node setzt diese Eigenschaft mit dem Antwort-Header.
 | |
|        Der nächste Node verwendet dann diesen Header für seine Anfrage, was aber nicht die richtige Art und Weise ist.
 | |
|        Wenn die <code>msg.headers</code>-Eigenschaft zwischen den Nodes unverändert bleibt, wird sie vom zweiten Node ignoriert.
 | |
|        Um benutzerdefinierte Header festzulegen, sollte <code>msg.headers</code> zuerst gelöscht oder
 | |
|        auf ein leeres Objekt gesetzt werden: <code>{}</code></p>
 | |
|     <h4><b>Behandlung von Cookies</b></h4>
 | |
|     <p>Die an den Node übergebene <code>cookies</code>-Eigenschaft muss ein Objekt von Name/Wert-Paaren sein.
 | |
|        Der Wert kann entweder ein String sein, um den Wert des Cookies zu setzen,
 | |
|        oder es kann ein Objekt mit einer einzigen <code>value</code>-Eigenschaft sein.<p>
 | |
|     <p>Alle auf Anforderung zurückgegebene Cookies werden über die <code>responseCookies</code>-Eigenschaft zurückgegeben.</p>
 | |
|     <h4><b>Behandlung von Content-Typen</b></h4>
 | |
|     <p>Wenn <code>msg.payload</code> ein Objekt ist, setzt der Node automatisch den Inhaltstyp der Anforderung
 | |
|        auf <code>application/json</code> und kodiert den Hauptteil als solchen.</p>
 | |
|     <p>Um die Anforderung als Formulardaten zu kodieren, sollte <code>msg.headers["content-type"]</code> auf
 | |
|        <code>application/x-wwww-form-urlencoded</code> gesetzt werden.</p>
 | |
|     <h4><b>Datei-Upload</b></h4>
 | |
|     <p>Um einen Datei-Upload umzusetzen, sollte <code>msg.headers["content-type"]</code> auf <code>multipart/form-data</code>
 | |
|        gesetzt werden und das an den Node zu sendende <code>msg.payload</code> muss ein Objekt mit folgender Struktur sein:</p>
 | |
|     <pre><code>{
 | |
|     "KEY": {
 | |
|         "value": FILE_CONTENTS,
 | |
|         "options": {
 | |
|             "filename": "FILENAME"
 | |
|         }
 | |
|     }
 | |
| }</code></pre>
 | |
|     <p>Die Inhalte von <code>KEY</code>, <code>FILE_CONTENTS</code> und <code>FILENAME</code>
 | |
|        sollten auf passende Werte gesetzt sein.</p>
 | |
| </script>
 |