Wie mache ich HTTP-Anfragen mit dem Node.js-Anforderungsmodul?

Wie Mache Ich Http Anfragen Mit Dem Node Js Anforderungsmodul



HTTP-Anfragen sind der wichtigste und integrale Bestandteil jeder interaktiven Anwendung. Diese Anfragen regeln die Datenübertragung zwischen der Client- und der Serverseite. Wenn der Benutzer Daten zu der spezifischen Anfrage benötigt, sendet er eine Anfrage und die Antwort dieser Anfrage mit den erforderlichen Daten wird vom Server gesendet. Dieses gesamte Verfahren hängt von der „ HTTP „Anfragen, die mit externen Modulen wie „ Anfrage “.

In diesem Handbuch wird das Verfahren zum Erstellen von HTTP-Anfragen mit dem Node.js-Anfragemodul anhand der folgenden Abschnitte erläutert:

Wie mache ich HTTP-Anfragen mit dem Node.js-Anforderungsmodul?







Alternativen zum Node.js-Anforderungsmodul



Abschluss



Wie mache ich HTTP-Anfragen mit dem Node.js-Anforderungsmodul?

Der ' Anfrage „Modul ist das einfachste Modul, das beim Senden oder Abrufen von HTTP-Anfragen hilft. Dieses Modul ist zu einfach und leicht zu verstehen, bietet Entwicklern jedoch nur sehr wenig Freiheit. Darüber hinaus kann der Entwickler seine Grundfunktionalität nicht einfach ändern oder die bereitgestellten Funktionen erweitern.





Notiz: Obwohl die ' Anfrage „ist ein gutes Modul. Die Ersteller haben jedoch beschlossen, die Arbeit an diesem Modul einzustellen, und es wurde am 11. Februar 2020 vollständig veraltet.

Wenn Sie sich dennoch ein Bild von der Umsetzung machen möchten, Anfrage ”-Modul und führen Sie dann die unten aufgeführten Schritte aus.



Schritt 1: Installieren des „request“-Moduls und Initialisieren des Node.js-Projekts

Beginnen Sie mit der Initialisierung des „ npm ”-Pakete im gewünschten Verzeichnis, um ein Node.js-Projekt zu erstellen, indem Sie den folgenden Befehl ausführen:

npm init - Und

Die Ausgabe zeigt, dass „npm“ im bereitgestellten Verzeichnis erfolgreich initialisiert wurde:

Installieren Sie dann das erforderliche „ Anfrage ” Modul durch Ausführen des Befehls:

NPM-Installationsanfrage

Die Ausgabe zeigt, dass die Installation abgeschlossen ist, aber da dieses Modul veraltet ist, wurde die veraltete Warnung von „npm“ gesendet:

Schritt 2: Dummy-Code einfügen

Ein ... kreieren ' .js „Typdatei im Node.js-Projektverzeichnis, es ist die Datei, in die die Programme eingefügt und später ausgeführt werden. Fügen Sie dann die folgenden Codezeilen ein, um die praktische Implementierung des „ Anfrage ”-Modul, wie unten gezeigt:

const reqObj = erfordern ( 'Anfrage' )

sei baseUrl = 'https://jsonplaceholder.typicode.com/todos/6' ;

reqObj ( baseUrl, ( Probleme, Inhalte ) => {

Wenn ( Probleme ) Konsole. Protokoll ( Probleme )

Konsole. Protokoll ( Inhalt ) ;

} ) ;

Die Erklärung des obigen Codeblocks lautet wie folgt:

  • Zuerst die ' Anfrage Das Modul wurde importiert und sein Objekt wird in einer neuen Variablen mit dem Namen „ gespeichert. reqObj “.
  • Als Nächstes wird die URL einer Online-JSON-Datei, deren Inhalt abgerufen werden muss, als Wert für „ baseUrl ” benannte Variable.
  • Dann ist die ' reqObj Die Variable „ wird als Konstruktor aufgerufen und die Variable „ baseUrl „ wird als erster Parameter und die Callback-Funktion als zweiter Parameter übergeben.
  • Innerhalb der Callback-Funktion ist das „ Wenn Die Anweisung „wird verwendet, um aufgetretene Fehler anzuzeigen, und die abgerufenen Daten werden auch über dem Konsolenfenster angezeigt.

Schritt 3: Ausführung

Um den obigen Code auszuführen, führen Sie die enthaltende Datei mit dem Namen „ aus. proApp.js ” in unserem Fall mit dem Befehl:

Node proApp. js

Die Ausgabe nach der Ausführung zeigt, dass die angegebenen Daten abgerufen und über die Konsole angezeigt wurden:

Alternativen zum Node.js-Anforderungsmodul

Aufgrund der Abwertung des „ Anfrage „Modul gibt es viele neue externe Module, mit denen ähnliche Funktionen ausgeführt werden können. Diese alternativen Module sind unten aufgeführt:

Alternativen Beschreibung
Knotenabruf Es handelt sich um ein Promise- oder Stream-basiertes Modul, das eine window.fetch()-Methode in Node.js bringt.
http Der ' http „Modul ist das von Node.js bereitgestellte Standardmodul und bietet verschiedene Methoden zur Interaktion mit http-Servern und bietet gleichzeitig mehr Freiheit.
Axios Rein basierend auf Versprechen und Streams, um HTTP-Anfragen sowohl vom Server als auch vom Client über den Browser auszuführen.
bekommen Sie ist äußerst benutzerfreundlich und die leistungsstärkste Bibliothek für HTTP-Anfragen.
Superagent Basiert auf Verkettung und Versprechen und bietet gleichzeitig Unterstützung für viele High-Level-HTTP-Clients. Es hat auch eine niedrige Lernkurve.
gebogen Es handelt sich um ein funktionales HTTP, das eine asynchrone Funktion zurückgibt.
machen-holen-passieren Eine erweiterte Form von „ Knotenabruf ” Modul. Es umfasst jetzt auch „Request-Pooling“, „Cache-Unterstützung“ und vieles mehr.
Nadel Dieses Modul ist das klarste und fortschrittlichste Modul. Es wird hauptsächlich zum Abrufen von Daten verwendet, indem Anfragen an Drittquellen gesendet werden.
tiny-json-http Minimalistischer HTTP-Client, der zur Ausführung der JSON-Nutzlasten verwendet wird.

Lassen Sie uns nun HTTP-Anfragen mithilfe einiger oben besprochener Module ausführen.

Methode 1: HTTP-Anfragen mit dem Standard-HTTP-Modul stellen

Der ' http „ ist ein Standardmodul, da es zum Zeitpunkt der Initialisierung des node.js-Projekts durch Ausführen des Befehls „ automatisch installiert wird. npm init ' oder ' npm init -y “. Da wir bereits ein node.js-Projekt erstellt haben, überspringen wir die am Anfang dieses Artikels gezeigten Initialisierungsschritte und tauchen direkt in die Erstellung von http-Anfragen mithilfe des Moduls „http“ ein.

Im folgenden Codeausschnitt wurde der Server erstellt und als Antwort wird die Dummy-Nachricht an den Server gesendet:

const httpObj = erfordern ( 'http' ) ;

const lokaler Server = httpObj. createServer ( ( Anfrage, Antwort ) => {

Antwort. schreiben ( „Willkommen auf der Twitter-Seite“ ) ;

Antwort. Ende ( ) ;

} ) ;

lokaler Server. Hören ( 8080 , ( ) => {

Konsole. Protokoll ( „Server wurde bei Portnummer 8080 gestartet.“ ) ;

} ) ;

Im obigen Codeblock:

  • Zuerst die ' http Das Modul wurde in die aktuelle Datei importiert und sein Objekt wird in einer neuen Variablen mit dem Namen „ gespeichert. httpObj “.
  • Als nächstes wird der Server mit dem Namen „ lokaler Server „wird durch den Aufruf von“ erstellt. createServer() ”-Methode und Übergabe der Callback-Funktion als Parameter.
  • Rufen Sie innerhalb dieser Funktion ein „ schreiben() ”-Methode und weisen Sie ihr eine Dummy-Nachricht zu, die auf dem Server angezeigt wird. Schließen Sie außerdem die Antwortsitzung, indem Sie „ Ende() ”-Nachricht kann die zufällige Dummy-Nachricht auch in die Methodenklammer eingefügt werden.
  • Lassen Sie diesen Server anschließend über den lokalen Host mit der Portnummer „ ausführen. 8080 ” unter Berufung auf das „ Hören() ' Methode.

Führen Sie den obigen Code mit der Datei aus, indem Sie den folgenden Befehl ausführen:

Knoten < Dateiname. js >

Die generierte Ausgabe bestätigt, dass HTTP-Anfragen über die Standardeinstellung „ http ” Modul:

Methode 2: Erstellen einer HTTP-Anfrage mithilfe des externen Axios-Moduls

Der ' Axios „ist das beliebteste und am weitesten verbreitete Modul, wenn es darum geht, HTTP-Anfragen in einer Echtzeitumgebung auszuführen. Um dieses Modul verwenden zu können, muss der Entwickler es zunächst installieren, indem er den folgenden Befehl ausführt:

npm axios installieren

Nach der Ausführung des Befehls sieht das Terminal folgendermaßen aus:

Schauen wir uns nun ein Beispiel an, in dem „ ERHALTEN „Eine HTTP-Anfrage wird verwendet, um die Daten von einer zufälligen API abzurufen. Anschließend werden die empfangenen Daten ebenfalls über die Konsole angezeigt:

const axiosObj = erfordern ( 'axios' ) ;

// URL der JSON-Platzhalter-API, um nur einen Teil der Daten mit der ID 5 auszuwählen

const apiUrl = 'https://jsonplaceholder.typicode.com/todos/5' ;

//Initialisierung der GET-Anfrage

axiosObj. erhalten ( apiUrl )

. Dann ( Antwort => {

Konsole. Protokoll ( „Der Status für die Antwort von der API ist:“ , Antwort. Status ) ;

Konsole. Protokoll ( „Die von der API als Antwort auf die Anfrage empfangenen Daten:“ , Antwort. Daten ) ;

} )

. fangen ( Fehler => {

Konsole. Fehler ( „Der Fehler ist aufgetreten:“ , Fehler ) ;

} ) ;

Die Erklärung des obigen Codeblocks ist unten aufgeführt:

  • Importieren Sie zunächst „ Axios ”-Bibliothek und speichern Sie ihre Instanz in der Variablen mit dem Namen „ axiosObj “, das als Objekt der „axios“-Bibliothek fungiert.
  • Als nächstes erstellen Sie eine Variable „ apiUrl ” und speichern Sie die URL der API, von der die Daten abgerufen werden müssen. In unserem Fall lautet die URL „ https://jsonplaceholder.typicode.com/todos/5 ” weil wir Daten abrufen möchten, die eine ID von „ haben 5 “.
  • Jetzt mit Hilfe von „ axiosObj ” berufen sich auf die „ erhalten() ”-Methode und übergeben Sie die „ appURL ”-Variable innerhalb dieser Methodenklammer.
  • Hänge an ' Dann() ”-Methode mit dem „ erhalten() ”-Methode und erstellen Sie eine anonyme Pfeilfunktion, die einen einzelnen Parameter von „ enthält Antwort “.
  • Das ' Antwort „ fungiert als Objekt, das die Werte oder Daten enthält, die als Antwort auf die Anfrage über „ zurückgegeben werden. erhalten() ' Methode.
  • Mit Hilfe dieses „ Antwort ”-Objekt, rufen Sie den Status der Anfrage und den Inhalt ab, indem Sie das „ Status ' Und ' Daten ” Schlüsselwörter daneben.
  • Fügen Sie abschließend das „ fangen() ”-Methode, die Fehler anzeigt, die während der Ausführung des Programms aufgetreten sind.

Kompilieren Sie nun den obigen Code in der Node.js-Umgebung mit dem folgenden Befehl auf dem Terminal:

Knoten < Dateiname >

Die angezeigte Ausgabe zeigt, dass die angeforderten Daten als Antwort von der bereitgestellten Quelle abgerufen und über dem Konsolenfenster angezeigt wurden:

Hier geht es darum, HTTP-Anfragen mit dem Node.js-Request-Modul zu stellen und einen kurzen Überblick über seine Alternativen zu geben.

Abschluss

Um eine HTTP-Anfrage über „ Anfrage ”-Modul, die erforderliche URL, von der aus der Abruf durchgeführt werden soll. Anschließend wird die Modulinstanz „request“ erstellt und als erster Parameter die ausgewählte URL übergeben, für die die HTTP-Anfrage implementiert werden muss. Die erforderliche Callback-Funktion wird auch verwendet, um nach aufgetretenen Fehlern zu suchen und den Inhalt oder die Antwort der HTTP-Anfrage abzurufen. In diesem Handbuch wurde der Prozess der Erstellung von HTTP-Anfragen mithilfe des Anforderungsmoduls erläutert.