Hvordan lage HTTP-forespørsler med Node.js Request Module?

Hvordan Lage Http Foresporsler Med Node Js Request Module



HTTP-forespørsler er den viktigste og mest integrerte delen av enhver interaktiv applikasjon, disse forespørslene håndterer overføring av data mellom klient- og serversiden. Hvis brukeren krever data om den spesifikke spørringen, vil den sende en forespørsel og svaret på denne forespørselen som inneholder de nødvendige dataene blir sendt fra serveren. Hele denne prosedyren avhenger av eller bruker ' HTTP ' forespørsler som kan opprettes ved hjelp av eksterne moduler som ' be om '.

Denne veiledningen forklarer prosedyren for å lage HTTP-forespørsler med Node.js-forespørselsmodulen ved å dekke avsnittene nedenfor:

Hvordan lage HTTP-forespørsler med Node.js Request Module?







Alternativer for Node.js Request Module



Konklusjon



Hvordan lage HTTP-forespørsler ved å bruke Node.js Request Module?

« be om ”-modulen er den enkleste modulen som hjelper deg med å sende eller hente HTTP-forespørsler. Denne modulen er for enkel og lett å forstå, men den gir svært liten frihet til utviklere. Dessuten kan utvikleren ikke enkelt endre dens grunnleggende funksjonalitet eller forbedre dens medfølgende funksjoner.





Merk: Selv om ' be om ” er en god modul. Skaperne bestemte seg imidlertid for å slutte å jobbe med denne modulen, og den ble fullstendig avviklet 11. februar 2020.

Men hvis du fortsatt ønsker å få en ide om implementeringen av denne ' be om ”-modulen og besøk deretter trinnene nedenfor.



Trinn 1: Installere 'request'-modulen og initialisere Node.js-prosjektet

Start med å initialisere ' npm ”-pakker inne i ønsket katalog for å lage et Node.js-prosjekt ved å kjøre kommandoen:

npm init - og

Utgangen viser at 'npm' har blitt initialisert i den angitte katalogen:

Installer deretter den nødvendige ' be om '-modulen ved å utføre kommandoen:

npm installasjonsforespørsel

Utdataene viser at installasjonen er fullført, men siden denne modulen er utdatert, er det derfor den utdaterte advarselen har blitt sendt av 'npm':

Trinn 2: Sette inn dummy-kode

Lage en ' .js ” type fil inne i Node.js-prosjektkatalogen, det er filen der programmene settes inn og kjøres senere. Deretter setter du inn kodelinjene nedenfor for å illustrere den praktiske implementeringen av ' be om '-modul, som vist nedenfor:

konst reqObj = krever ( 'be om' )

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

reqObj ( baseUrl, ( problemer, innhold ) => {

hvis ( problemer ) konsoll. Logg ( problemer )

konsoll. Logg ( innhold ) ;

} ) ;

Forklaringen av kodeblokken ovenfor er som følger:

  • Først, ' be om '-modulen er importert og objektet er lagret i en ny variabel kalt ' reqObj '.
  • Deretter sendes URL-en til en online JSON-fil hvis innhold må hentes som verdien for ' baseUrl ' kalt variabel.
  • Og så ' reqObj variabelen påkalles som konstruktøren, og ' baseUrl ” sendes som dens første parameter og tilbakeringingsfunksjonen som den andre parameteren.
  • Inne i tilbakeringingsfunksjonen er ' hvis ”-setningen brukes til å vise eventuelle oppståtte feil, og de hentede dataene vises også over konsollvinduet.

Trinn 3: Utførelse

For å utføre koden ovenfor, kjør filen som heter ' proApp.js ' i vårt tilfelle ved å bruke kommandoen:

node proApp. js

Utdata etter kjøring viser at de spesifiserte dataene er hentet og vist over konsollen:

Alternativer for Node.js Request Module

På grunn av avskrivningen av ' be om ”-modulen, er det mange nye eksterne moduler som kan brukes til å utføre lignende funksjonalitet. Disse alternative modulene er angitt nedenfor:

Alternativer Beskrivelse
node-henting Det er en løfte- eller strømbasert modul som bringer en window.fetch()-metode i Node.js.
http « http ”-modulen er standardmodulen levert av Node.js, og den gir flere metoder for å samhandle med http-servere samtidig som den gir mer frihet.
aksioer Rent basert på løfter og strømmer for å utføre HTTP-forespørsler over nettleseren fra både server- og klientenden.
fikk Det er super menneskevennlig og det kraftigste biblioteket for HTTP-forespørsler.
superagent Basert på kjeding og løfter samtidig som det gir støtte for mange HTTP-klienter på høyt nivå. Den har også en lav læringskurve.
bøyd Det er en funksjonell HTTP som returnerer en funksjon av async-type.
få-hente-skje En forbedret form for ' node-henting ' modul. Det inkluderer nå 'forespørselspooling', 'cache-støtte' og mye mer også.
nål Denne modulen er den klareste og mest fremadrettede modulen. Det brukes mest til å hente data ved å sende forespørsler til tredjepartskilder.
tiny-json-http Minimalistisk HTTP-klient som brukes til å utføre JSON-nyttelastene.

La oss nå utføre HTTP-forespørsler ved å bruke noen moduler diskutert ovenfor.

Metode 1: Lage HTTP-forespørsler ved å bruke standard HTTP-modul

« http ” er en standardmodul ettersom den blir automatisk installert ved initialisering av node.js-prosjektet ved å kjøre kommandoen ” npm init ' eller ' npm init -y '. Siden vi allerede har opprettet et node.js-prosjekt, hopper vi over initialiseringstrinnene som er demonstrert i starten av denne artikkelen, og dykker direkte inn i opprettelsen av http-forespørsler ved å bruke 'http'-modulen.

I kodebiten nedenfor er serveren opprettet og som et svar sendes dummymeldingen til serveren:

konst httpObj = krever ( 'http' ) ;

konst lokal server = httpObj. oppretteServer ( ( forespørsel, svar ) => {

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

respons. slutt ( ) ;

} ) ;

lokal server. lytte ( 8080 , ( ) => {

konsoll. Logg ( 'server startet på portnummer 8080.' ) ;

} ) ;

I kodeblokken ovenfor:

  • Først, ' http '-modulen har blitt importert inn i den gjeldende filen og objektet er lagret i en ny variabel kalt ' httpObj '.
  • Deretter heter serveren ' lokal server ' opprettes ved å påkalle ' createServer() ”-metoden og sender tilbakeringingsfunksjonen som parameter.
  • Inne i denne funksjonen kaller du en ' skrive() ”-metoden og tilordne den en dummy-melding som vises over serveren. Avslutt også svarøkten ved å påkalle ' slutt() ”-meldingen, kan den tilfeldige dummy-meldingen også settes inn i metodeparentesen.
  • Etter det, få denne serveren til å kjøre over den lokale verten som har portnummeret ' 8080 ' ved å påkalle ' lytte() 'metoden.

Kjør den ovennevnte koden som inneholder filen ved å kjøre kommandoen nedenfor:

node < filnavn. js >

Den genererte utgangen bekrefter at HTTP-forespørsler er utført via standard ' http ' modul:

Metode 2: Foreta HTTP-forespørsel ved hjelp av ekstern aksiomodul

« aksioer ” er den mest populære og mest brukte modulen når det gjelder å utføre HTTP-forespørsler i et sanntidsmiljø. For å bruke denne modulen må utvikleren først installere den ved å utføre kommandoen nedenfor:

npm installer aksioer

Etter å ha utført kommandoen, ser terminalen slik ut:

La oss nå se over et eksempel der ' HTTP-forespørsel skal brukes til å hente dataene fra et tilfeldig API. Deretter vises de mottatte dataene over konsollen også:

konst axiosObj = krever ( 'aksios' ) ;

// URL for JSON Placeholder API For å velge bare en del av data som har en ID på 5

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

//Initialisering av GET-forespørselen

axiosObj. ( apiUrl )

. deretter ( respons => {

konsoll. Logg ( 'Statusen for svar fra API er:' , respons. status ) ;

konsoll. Logg ( 'Dataene mottatt fra API som et svar på forespørsel:' , respons. data ) ;

} )

. å fange ( feil => {

konsoll. feil ( 'Feilen har oppstått:' , feil ) ;

} ) ;

Forklaringen av kodeblokken ovenfor er angitt nedenfor:

  • Først importerer du ' aksioer ' biblioteket og lagre forekomsten i variabelen kalt ' axiosObj ' som fungerer som et objekt i 'axios'-biblioteket.
  • Deretter oppretter du en variabel ' apiUrl ” og lagre URL-en til API-en som dataene må hentes fra. I vårt tilfelle er nettadressen ' https://jsonplaceholder.typicode.com/todos/5 ' fordi vi ønsker å hente data som har en ID på ' 5 '.
  • Nå, ved hjelp av ' axiosObj ' påkalle ' få() '-metoden og bestå ' appURL ” variabel innenfor denne metodeparentesen.
  • Fest ' deretter() '-metoden med ' få() '-metoden og lag en anonym pilfunksjon som inneholder en enkelt parameter for ' respons '.
  • denne ' respons ' fungerer som et objekt som inneholder verdiene eller dataene returnert som svar på forespørselen via ' få() 'metoden.
  • Ved hjelp av denne ' respons '-objektet, hente statusen til forespørselen og innholdet ved å legge ved ' status ' og ' data ' søkeord ved siden av.
  • Til slutt legger du ved ' å fange() ” metode som viser feil hvis noen oppstod under kjøringen av programmet.

Nå, kompiler koden ovenfor i Node.js-miljøet ved å bruke kommandoen nedenfor på terminalen:

node < filnavn >

Den viste utdata viser at de forespurte dataene har blitt hentet fra den angitte kilden som et svar og vist over konsollvinduet:

Det handler om å lage HTTP-forespørsler med Node.js Request Module og en rask oversikt over alternativene.

Konklusjon

For å lage en HTTP-forespørsel via ' be om ”-modulen, den nødvendige URL-en der hentingen skal utføres. Deretter opprettes 'request'-modulforekomsten, og den valgte URL-adressen som HTTP-forespørselen må implementeres for, sendes som den første parameteren. Den nødvendige tilbakeringingsfunksjonen brukes også til å se etter eventuelle feil og hente innholdet eller svaret på HTTP-forespørselen. Denne veiledningen har forklart prosessen med å lage HTTP-forespørsler ved å bruke forespørselsmodulen.