Präambel
Wenn Sie in node-red eine externe Ressource anfordern möchten, wie zum Beispiel das lokale Wetter, können Sie den HTTP-Request - Knoten verwenden, der es Ihrer node-red - Anwendung ermöglicht, verschiedene Schnittstellen und Daten zu integrieren. Ohne Domain-übergreifende Einschränkungen kann auf die meisten HTTP-Schnittstellen zugreifen. Unterstützte Anforderungsmethoden sind GET, PUT, POST, Patch oder DELETE. Und unterstützt benutzerdefinierte Header, Cookies, Anforderung Adress-Vorlagen, Hochladen von Dateien, Anforderung Zeitüberschreitungen. Vielzahl leistungsstarker Funktionen. Dieses Dokument wird seine verschiedenen Anwendungen im Detail beschreiben, um Ihnen zu helfen, sie schnell zu meistern und die Produktivität zu verbessern.
Knoten-Konfigurationsübersicht
Dieser Knoten hat Eingaben und Ausgänge
Eingaben von Konfigurationselementen hat diese
urlWenn nicht im Knoten konfiguriert, setzt diese optionale Eigenschaft die angeforderte URL.methodDiese optionale Eigenschaft legt die HTTP-Methode der Anforderung fest, wenn sie nicht im Knoten konfiguriert ist. Es muss eine der GET, PUT, POST, PATCH oder DELETE sein.headersLegen Sie den HTTP-Header der Anforderung fest.cookies Wenn sie eingestellt sind, können sie verwendet werden, um Cookies mit einer Anfrage zu senden.payload Senden Sie den Text als Anfrage.rejectUnauthorizedWenn sie auf false gesetzt ist, werden Anfragen an https-Sites gestattet, die selbstsignierte Zertifikate verwenden.followRedirectsWenn es auf false gesetzt ist, wird die Folge einer Umleitung verhindert (HTTP 301). Standardmäßig truerequestTimeoutWenn auf positive Millisekunden gesetzt wird, wird der global festgelegte HTTPRequestTimeout-Parameter überschrieben.
Der Text der Ausgabe-Parameter
payloadAntwort. Sie können den Knoten so konfigurieren, dass er den Körper als Zeichenkette zurückgibt, versucht, ihn als JSON-String zu analysieren oder ihn als Binärpuffer zu behalten.statusCodeDer Statuscode der Antwort, der einen Fehlercode zurückgibt, wenn die Anforderung nicht abgeschlossen wird.headersEin Objekt, das die Antwort-Header enthält.responseUrlWenn eine Umleitung während der Verarbeitung der Anfrage auftritt, ist diese Eigenschaft die URL der endgültigen Umleitung. Ansonsten ist es die URL der ursprünglichen Anfrage.responseCookies Wenn die Antwort ein Cookie enthält, ist diese Eigenschaft das Objekt des „Name / Wert" - Schlüsselwertpaares jedes Cookies.redirectListWenn die Anfrage einmal oder mehrmals umgeleitet wird, werden die kumulatierten Informationen zu dieser Eigenschaft hinzugefügt.„Location" ist das nächste Ziel. Ein Cookie ist ein Cookie, das von einer Umleitung zurückgegeben wird.
Das obige Dokument ist eine Übersetzung des offiziellen englischen Dokuments. Unten betrachten wir die speziellen Anwendungen.
Verwenden Sie den Code, um den HTTP request-Knoten
zu konfigurieren. Die Eingabeparameter für diesen Knoten können im Konfigurationsfenster konfiguriert werden,
aber auch im Stream festgelegt werden.
Wenn Sie beispielsweise die GET-Methode verwenden.https://fizzz.blog.csdn.net/Anschrift.
Neben der Konfiguration im Panel können Sie die Funktion vor der HTTP-Request - Schnittstelle verwenden, um Parameter anzufordern.
msg.method = 'GET'
msg.url = 'https://fizzz.blog.csdn.net/'
vor der HTTP-Request - Schnittstelle mit dem function-Knoten so anfordern, dass Sie zusätzlich mehrere benutzerdefinierte Header
wie zum Beispiel
msg.method = 'GET'
msg.url = 'https://fizzz.blog.csdn.net/?name=fizz&age=18'
msg.headers = {}
msg.headers['X-Auth-User'] = 'fizz'
msg.headers['X-Auth-Key'] = 'fizz-key'
bei der Konfiguration der Parameter für den HTTP-Request - Knoten können Sie die Vorlage verwenden, um die Variable
in MSG zu verweisen wie folgt, um die URL so zu konfigurieren, wie die Variablehttps://{{domin}}.blog.csdn.net/
istdominIn den oben steckenden MSG.msg.domin。
Wenn Sie eine POST-Anfrage verwenden, sollten die Parameter so festgelegt sein.
msg.method = 'POST'
msg.url = 'https://fizzz.blog.csdn.net/?name=fizz&age=18'
msg.payload = {}
msg.payload.name = 'fizz'
msg.payload.key = 'fizz-key'
Formulardaten, Datei-Upload
Wenn die Daten als Formulardaten angefordert werden, sollten Sie msg.headers["content-type"] aufapplication/x-www-form-urlencoded。
gesetzt werden, wenn Sie eine Datei-Upload - Szenario verwenden, müssen Sie spezielle Einstellungen für den HTTP-Request - Knoten
für den Upload von Dateien durchführen, Das Objekt, das an den Knoten übergeben wird, muss ein Objekt mit der folgenden Struktur sein:multipart/form-data和msg.payloadDas an den Knoten übertragene Objekt muss folgende Struktur haben:
{
"KEY": {
"value": FILE_CONTENTS,
"options": {
"filename": "FILENAME"
}
}
}
KEY, FILE_CONTENTS und FILENAME sollten auf den entsprechenden Wert gesetzt werden.
Antwort veröffentlichen