Knoten http request
Der Knoten http request
ist dafür vorgesehen, HTTP-Anfragen an externe Webdienste oder APIs auszuführen. Er unterstützt eine Vielzahl von HTTP-Methoden, Datentypen, Authentifizierung und eine flexible Handhabung von Anfragen und Antworten.
Einstellungen des Knotens http request
1. Name
Feld zur Angabe des Knotennamens.
Der Name wird im Arbeitsbereich angezeigt und hilft, den Knoten leicht zu identifizieren.
Wenn das Feld leer gelassen wird, wird der Knoten http request
genannt.
Beispiel:
- Knotenname:
Get Weather Data
2. Method
HTTP-Methode, die für die Anfrage verwendet wird. Die Wahl der Methode hängt von der Art der auszuführenden Operation ab.
Verfügbare Methoden:
GET
: Daten abrufen.POST
: Daten senden.PUT
: Daten aktualisieren.DELETE
: Daten löschen.PATCH
: Teilweise Daten aktualisieren.HEAD
: Header der Antwort abrufen.OPTIONS
: Informationen über die API abrufen.
Beispiel:
- Methode:
POST
3. Link
Feld zur Angabe einer statischen URL, an die die Anfrage gesendet wird.
Wenn die Adresse dynamisch festgelegt werden muss, kann sie in msg.url
übergeben werden.
Beispiel:
- Link:
https://api.example.com/data
4. Data
Definiert, wie die Eingabedaten zur HTTP-Anfrage hinzugefügt werden. Folgende Optionen sind verfügbar:
-
Ignore:
Die Eingabedaten werden nicht in der Anfrage verwendet. Das Feldmsg.payload
, falls vorhanden, wird ignoriert.Beispiel:
Wennmsg.payload
ein JSON-Objekt enthält, wird es nicht in die Anfrage aufgenommen.
-
Add to query parameters:
Die Daten ausmsg.payload
werden in Abfrageparameter (Query Parameters) umgewandelt und zur URL hinzugefügt.Beispiel:
Wennmsg.payload
enthält:{
"key1": "value1",
"key2": "value2"
}Wenn der Link als
http://example.com/api
angegeben ist, wird die endgültige Anfrage sein:
GET http://example.com/api?key1=value1&key2=value2
.
-
Send as request body (Im Körper der Anfrage senden):
Die Daten ausmsg.payload
werden im Körper der Anfrage gesendet. Diese Option eignet sich für Methoden wiePOST
,PUT
undPATCH
, bei denen Daten häufig im Körper übermittelt werden.Beispiel:
Wennmsg.payload
enthält:{
"name": "John Doe",
"email": "john.doe@example.com"
}Wenn die Anfrage-Methode
POST
ist, werden die Daten im Körper der Anfrage mit dem entsprechenden Inhalt gesendet.
5. Return
Definiert, in welchem Format der Knoten die Antwort vom Server verarbeitet.
Optionen:
- UTF-8 string: Die Antwort wird in eine Zeichenkette umgewandelt (Standard).
- Buffer: Die Antwort wird als
Buffer
-Objekt zurückgegeben (nützlich für Binärdaten wie Bilder oder Dateien). - JSON: Wenn die Serverantwort im JSON-Format vorliegt, wird sie automatisch in ein JavaScript-Objekt umgewandelt.
Beispiel:
- Wenn
JSON
ausgewählt ist, wird die Antwort:umgewandelt in:{"status": "ok", "value": 42}
msg.payload = { status: "ok", value: 42 };
6. Authentication
Der Knoten unterstützt integrierte Authentifizierungsmechanismen.
Basic Auth
- Username: Benutzername.
- Password: Passwort.
Bearer Token
- Token: Zugriffstoken.
Digest
- Username: Benutzername.
- Password: Passwort.
Eingabedaten
Der Knoten http request
akzeptiert ein Nachrichtenobjekt msg
mit den Parametern:
- msg.url: URL für die Anfrage (wenn nicht in den Knoteneinstellungen angegeben).
- msg.method: HTTP-Methode (wenn nicht in den Knoteneinstellungen angegeben).
- msg.payload: Anfragekörper (wird für die Methoden
POST
,PUT
,PATCH
verwendet). - msg.headers: HTTP-Anfrageheader (Objekt).
Ausgabedaten
Der Knoten gibt ein Objekt msg
mit Informationen über die ausgeführte Anfrage zurück:
- msg.payload: Daten der Antwort vom Server.
- msg.statusCode: HTTP-Statuscode der Antwort (z. B.
200
oder404
). - msg.headers: Header der Antwort.
- msg.responseUrl: URL, an die die Anfrage gesendet wurde.
- msg.error: Fehlerbeschreibung (wenn die Anfrage fehlgeschlagen ist).
Beispiele für die Verwendung
Beispiel 1: Ausführen einer GET-Anfrage
Knoteneinstellungen:
- Methode:
GET
- URL:
https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London
Flow:
[inject] ---> [http request] ---> [debug]
Ergebnis: Der Knoten gibt JSON mit den aktuellen Wetterdaten zurück.
Beispiel 2: Daten über POST senden
Knoteneinstellungen:
- Methode:
POST
- URL:
https://api.example.com/devices
- Daten:
JSON
Flow:
[function] ---> [http request] ---> [debug]
Code im Knoten function
:
msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Ergebnis: Die Daten werden gesendet, und der Knoten gibt die Serverantwort zurück.
Beispiel 3: Dynamische URL und Authentifizierung
Knoteneinstellungen:
- URL: (leer lassen)
Flow:
[function] ---> [http request] ---> [debug]
Code im Knoten function
:
msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;
Ergebnis: Der Knoten führt die Anfrage an die angegebene URL mit dem Authentifizierungstoken aus.