Zum Hauptinhalt springen

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

IMG2

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

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:

  1. Ignore:
    Die Eingabedaten werden nicht in der Anfrage verwendet. Das Feld msg.payload, falls vorhanden, wird ignoriert.

    Beispiel:
    Wenn msg.payload ein JSON-Objekt enthält, wird es nicht in die Anfrage aufgenommen.


  1. Add to query parameters:
    Die Daten aus msg.payload werden in Abfrageparameter (Query Parameters) umgewandelt und zur URL hinzugefügt.

    Beispiel:
    Wenn msg.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.


  1. Send as request body (Im Körper der Anfrage senden):
    Die Daten aus msg.payload werden im Körper der Anfrage gesendet. Diese Option eignet sich für Methoden wie POST, PUT und PATCH, bei denen Daten häufig im Körper übermittelt werden.

    Beispiel:
    Wenn msg.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:
    {"status": "ok", "value": 42}
    umgewandelt in:
    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:

  1. msg.url: URL für die Anfrage (wenn nicht in den Knoteneinstellungen angegeben).
  2. msg.method: HTTP-Methode (wenn nicht in den Knoteneinstellungen angegeben).
  3. msg.payload: Anfragekörper (wird für die Methoden POST, PUT, PATCH verwendet).
  4. msg.headers: HTTP-Anfrageheader (Objekt).

Ausgabedaten

Der Knoten gibt ein Objekt msg mit Informationen über die ausgeführte Anfrage zurück:

  1. msg.payload: Daten der Antwort vom Server.
  2. msg.statusCode: HTTP-Statuscode der Antwort (z. B. 200 oder 404).
  3. msg.headers: Header der Antwort.
  4. msg.responseUrl: URL, an die die Anfrage gesendet wurde.
  5. 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.