Hvordan laver man HTTP-anmodninger med Node.js Request Module?

Hvordan Laver Man Http Anmodninger Med Node Js Request Module



HTTP-anmodninger er den vigtigste og mest integrerede del af enhver interaktiv applikation, disse anmodninger håndterer overførslen af ​​data mellem klient- og serversiden. Hvis brugeren kræver data om den specifikke forespørgsel, vil den sende en anmodning, og svaret på denne anmodning, der indeholder de nødvendige data, sendes fra serveren. Hele denne procedure afhænger af eller bruger ' HTTP ' anmodninger, som kan oprettes ved hjælp af eksterne moduler som ' anmodning ”.

Denne vejledning forklarer proceduren for at lave HTTP-anmodninger med Node.js Request Module ved at dække nedenstående sektioner:

Hvordan laver man HTTP-anmodninger med Node.js Request Module?







Alternativer til Node.js Request Module



Konklusion



Hvordan laver man HTTP-anmodninger ved hjælp af Node.js Request Module?

Det ' anmodning ” modul er det mest ligetil modul, der hjælper med at sende eller hente HTTP-anmodninger. Dette modul er for enkelt og let at forstå, men det giver meget lidt frihed til udviklere. Desuden kan udvikleren ikke nemt ændre dens grundlæggende funktionalitet eller forbedre dens leverede funktioner.





Bemærk: Selvom ' anmodning ” er et godt modul. Dets skabere besluttede dog at stoppe med at arbejde på dette modul, og det blev fuldstændigt udfaset den 11. februar 2020.

Men hvis du stadig ønsker at få en idé om implementeringen af ​​denne ' anmodning ” modul, så besøg nedenstående trin.



Trin 1: Installation af 'request'-modulet og initialisering af Node.js-projektet

Start med at initialisere ' npm ”-pakker inde i den ønskede mappe for at oprette et Node.js-projekt ved at køre kommandoen:

npm init - og

Outputtet viser, at 'npm' er blevet initialiseret i den medfølgende mappe:

Installer derefter den nødvendige ' anmodning ” modul ved at udføre kommandoen:

npm installationsanmodning

Outputtet viser, at installationen er afsluttet, men da dette modul er forældet, er det derfor, den forældede advarsel er blevet sendt af 'npm':

Trin 2: Indsættelse af dummy-kode

Lave en ' .js ” skriv fil inde i Node.js-projektbiblioteket, det er den fil, som programmerne indsættes i og afvikles i senere. Indsæt derefter nedenstående kodelinjer for at illustrere den praktiske implementering af ' anmodning ”-modul, som vist nedenfor:

konst reqObj = kræve ( 'anmodning' )

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

reqObj ( baseUrl, ( problemstillinger, indhold ) => {

hvis ( problemer ) konsol. log ( problemer )

konsol. log ( indhold ) ;

} ) ;

Forklaringen af ​​ovenstående kodeblok er som følger:

  • For det første ' anmodning ”-modulet er blevet importeret og dets objekt er gemt i en ny variabel ved navn ” reqObj ”.
  • Derefter videregives URL'en til en online JSON-fil, hvis indhold skal hentes, som værdien for ' baseUrl ' navngivet variabel.
  • Derefter ' reqObj variabel kaldes som konstruktør, og ' baseUrl ” videregives som dens første parameter og tilbagekaldsfunktionen som den anden parameter.
  • Inde i tilbagekaldsfunktionen er ' hvis ”-sætning bruges til at vise eventuelle opståede fejl, og de hentede data vises også over konsolvinduet.

Trin 3: Udførelse

For at udføre ovenstående kode skal du køre den indeholdende fil med navnet ' proApp.js ” i vores tilfælde ved at bruge kommandoen:

node proApp. js

Outputtet efter udførelse viser, at de angivne data er blevet hentet og vist over konsollen:

Alternativer til Node.js Request Module

På grund af afskrivningen af ​​' anmodning ” modul, er der en masse nye eksterne moduler, som kan bruges til at udføre lignende funktionalitet. Disse alternative moduler er angivet nedenfor:

Alternativer Beskrivelse
node-hentning Det er et løfte- eller stream-baseret modul, der bringer en window.fetch()-metode i Node.js.
http Det ' http ”-modulet er standardmodulet leveret af Node.js, og det giver flere metoder til at interagere med http-servere, mens det giver mere frihed.
axios Rent baseret på løfter og streams til at udføre HTTP-anmodninger over browseren fra både server- og klientenden.
fik Det er super menneskevenligt og det mest kraftfulde bibliotek til HTTP-anmodninger.
superagent Baseret på kæder og løfter, samtidig med at der ydes support til mange HTTP-klienter på højt niveau. Det har også en lav indlæringskurve.
bøjet Det er en funktionel HTTP, der returnerer en asynkron-type funktion.
få-hente-ske En forbedret form for ' node-hentning ” modul. Det inkluderer nu 'anmodningspooling', 'cachesupport' og meget mere.
nål Dette modul er det klareste og mest fremadrettede modul. Det bruges mest til at hente data ved at sende anmodninger til tredjepartskilder.
lille-json-http Minimalistisk HTTP-klient brugt til at udføre JSON-nyttelasterne.

Lad os nu udføre HTTP-anmodninger ved at bruge nogle moduler diskuteret ovenfor.

Metode 1: Fremstilling af HTTP-anmodninger ved hjælp af standard HTTP-modul

Det ' http ' er et standardmodul, da det automatisk bliver installeret på tidspunktet for initialisering af node.js-projektet ved at køre kommandoen ' npm init ' eller ' npm init -y ”. Da vi allerede har oprettet et node.js-projekt, springer vi initialiseringstrinene, der er demonstreret i starten af ​​denne artikel, over og dykker direkte ned i oprettelsen af ​​http-anmodninger ved hjælp af 'http'-modulet.

I nedenstående kodestykke er serveren blevet oprettet, og som et svar sendes dummy-meddelelsen til serveren:

konst httpObj = kræve ( 'http' ) ;

konst lokal server = httpObj. opretteServer ( ( anmodning, svar ) => {

respons. skrive ( 'Velkommen til Twitter-siden' ) ;

respons. ende ( ) ;

} ) ;

lokal server. Hør efter ( 8080 , ( ) => {

konsol. log ( 'server startede ved portnummer 8080.' ) ;

} ) ;

I ovenstående kodeblok:

  • For det første ' http ” modul er blevet importeret i den aktuelle fil, og dets objekt er gemt i en ny variabel ved navn ” httpObj ”.
  • Dernæst serveren med navnet ' lokal server ' oprettes ved at påkalde ' createServer() ”-metoden og sender tilbagekaldsfunktionen som dens parameter.
  • Inde i denne funktion skal du kalde en ' skrive() ”-metoden og tildel den en dummy-meddelelse, der bliver vist over serveren. Luk også svarsessionen ved at påkalde ' ende() ”-meddelelse, kan den tilfældige dummy-meddelelse også indsættes i metodeparentesen.
  • Få derefter denne server til at køre over den lokale vært, der har portnummeret ' 8080 ' ved at påkalde ' Hør efter() ” metode.

Udfør ovenstående kode indeholdende fil ved at køre nedenstående kommando:

node < filnavn. js >

Det genererede output bekræfter, at HTTP-anmodninger er blevet udført via standard ' http ' modul:

Metode 2: Fremstilling af HTTP-anmodning ved hjælp af eksternt Axios-modul

Det ' axios ” er det mest populære og udbredte modul, når det kommer til at udføre HTTP-anmodninger i et realtidsmiljø. For at bruge dette modul skal udvikleren først installere det ved at udføre nedenstående kommando:

npm installere aksioer

Efter at have udført kommandoen, ser terminalen sådan ud:

Lad os nu se på et eksempel, hvor ' ” HTTP-anmodning vil blive brugt til at hente data fra en tilfældig API. Derefter vises de modtagne data også over konsollen:

konst axiosObj = kræve ( 'aksios' ) ;

// URL for JSON Placeholder API For kun at vælge en del af data med et ID på 5

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

//Initialisering af GET-anmodningen

axiosObj. ( apiUrl )

. derefter ( respons => {

konsol. log ( 'Status for svar fra API er:' , respons. status ) ;

konsol. log ( 'De data, der modtages fra API som et svar på anmodning:' , respons. data ) ;

} )

. fangst ( fejl => {

konsol. fejl ( 'Fejlen er opstået:' , fejl ) ;

} ) ;

Forklaringen af ​​ovenstående kodeblok er angivet nedenfor:

  • Først skal du importere ' axios ' biblioteket og gem dets forekomst i variablen med navnet ' axiosObj ”, der fungerer som et objekt i ”axios”-biblioteket.
  • Opret derefter en variabel ' apiUrl ” og gem URL’en på den API, hvorfra dataene skal hentes. I vores tilfælde er URL'en ' https://jsonplaceholder.typicode.com/todos/5 ' fordi vi ønsker at hente data, der har et ID på ' 5 ”.
  • Nu, ved hjælp af ' axiosObj ' påberåbe sig ' få() '-metoden og bestå ' appURL ” variabel inden for denne metode parentes.
  • Vedhæft ' derefter() ' metode med ' få() '-metoden og opret en anonym pilefunktion, der indeholder en enkelt parameter af ' respons ”.
  • Det her ' respons ' fungerer som et objekt, der indeholder de værdier eller data, der returneres som svar på anmodningen via ' få() ” metode.
  • Ved hjælp af denne ' respons '-objektet, skal du hente status for anmodningen og indholdet ved at vedhæfte ' status ' og ' data ” søgeord ved siden af.
  • Til sidst vedhæft ' fangst() ” metode, der viser fejl, hvis nogen opstod under udførelsen af ​​programmet.

Kompiler nu ovenstående kode i Node.js-miljøet ved hjælp af nedenstående kommando på terminalen:

node < filnavn >

Det viste output viser, at de anmodede data er blevet hentet fra den angivne kilde som et svar og vist over konsolvinduet:

Det handler om at lave HTTP-anmodninger med Node.js Request Module og et hurtigt overblik over dets alternativer.

Konklusion

For at lave en HTTP-anmodning via ' anmodning ”-modul, den nødvendige URL, hvorfra hentning skal udføres. Derefter oprettes 'request'-modulforekomsten, og den valgte URL, som HTTP-anmodningen skal implementeres for, videregives som den første parameter. Den påkrævede tilbagekaldsfunktion bruges også til at kontrollere for eventuelle opståede fejl og hente indholdet eller svaret på HTTP-anmodningen. Denne vejledning har forklaret processen med at lave HTTP-anmodninger ved hjælp af anmodningsmodulet.