Paano Gumawa ng HTTP Requests Gamit ang Node.js Request Module?

Paano Gumawa Ng Http Requests Gamit Ang Node Js Request Module



Ang mga kahilingan sa HTTP ay ang pinakamahalaga at mahalagang bahagi ng anumang interactive na application, pinangangasiwaan ng mga kahilingang ito ang paglilipat ng data sa pagitan ng client at server-side. Kung ang user ay nangangailangan ng data tungkol sa partikular na query, magpapadala ito ng kahilingan at ang tugon ng kahilingang ito na naglalaman ng kinakailangang data ay ipapadala mula sa server. Ang buong pamamaraang ito ay nakasalalay o ginagamit ang ' HTTP ” mga kahilingan na maaaring gawin gamit ang mga panlabas na module tulad ng “ hiling ”.

Ipinapaliwanag ng gabay na ito ang pamamaraan ng paggawa ng HTTP Requests gamit ang Node.js Request Module sa pamamagitan ng pagsakop sa mga seksyon sa ibaba:

Paano Gumawa ng HTTP Requests Gamit ang Node.js Request Module?







Mga alternatibo ng Node.js Request Module



Konklusyon



Paano Gumawa ng HTTP Requests Gamit ang Node.js Request Module?

Ang ' hiling ” ang module ay ang pinakasimpleng module na tumutulong sa pagpapadala o pagkuha ng mga kahilingan sa HTTP. Ang module na ito ay masyadong simple at madaling maunawaan, ngunit nagbibigay ito ng napakakaunting kalayaan sa mga developer. Bukod dito, hindi madaling mabago ng developer ang pangunahing pag-andar nito o mapahusay ang mga ibinigay na tampok nito.





Tandaan: Bagama't ang ' hiling ” ay isang magandang modyul. Gayunpaman, nagpasya ang mga tagalikha nito na huminto sa paggawa sa module na ito, at ganap itong hindi na ginagamit noong ika-11 ng Peb, 2020.

Gayunpaman, kung nais mo pa ring makakuha ng ideya tungkol sa pagpapatupad nito ' hiling ” module pagkatapos ay bisitahin ang mga nabanggit na hakbang sa ibaba.



Hakbang 1: Pag-install ng 'kahilingan' na Module at Pagsisimula ng Node.js Project

Magsimula sa pamamagitan ng pagsisimula ng “ npm ” na mga pakete sa loob ng gustong direktoryo upang lumikha ng proyekto ng Node.js sa pamamagitan ng pagpapatakbo ng command:

npm init - at

Ang output ay nagpapakita na ang 'npm' ay matagumpay na nasimulan sa ibinigay na direktoryo:

Pagkatapos, i-install ang kinakailangang ' hiling ” module sa pamamagitan ng pagpapatupad ng command:

kahilingan sa pag-install ng npm

Ang output ay nagpapakita na ang pag-install ay nakumpleto ngunit dahil ang module na ito ay hindi na ginagamit kaya ang hindi na ginagamit na babala ay ipinadala ng 'npm':

Hakbang 2: Paglalagay ng Dummy Code

Gumawa ng ' .js ” i-type ang file sa loob ng direktoryo ng proyekto ng Node.js, ito ang file kung saan naipasok at naisakatuparan ang mga programa sa ibang pagkakataon. Pagkatapos, ipasok ang mga linya ng code sa ibaba upang ilarawan ang praktikal na pagpapatupad ng ' hiling ” module, tulad ng ipinapakita sa ibaba:

const reqObj = nangangailangan ( 'hiling' )

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

reqObj ( baseUrl, ( mga isyu, nilalaman ) => {

kung ( mga isyu ) console. log ( mga isyu )

console. log ( nilalaman ) ;

} ) ;

Ang paliwanag ng bloke ng code sa itaas ay ang mga sumusunod:

  • Una, ang ' hiling 'Ang module ay na-import at ang object nito ay naka-imbak sa isang bagong variable na pinangalanang ' reqObj ”.
  • Susunod, ang URL ng ilang online na JSON file na ang nilalaman ay kailangang kunin ay ipinapasa bilang ang halaga para sa ' baseUrl ” pinangalanang variable.
  • Pagkatapos, ang ' reqObj Ang variable ay tinatawag bilang constructor, at ang ' baseUrl ” ay ipinasa bilang unang parameter nito at ang callback function bilang pangalawang parameter.
  • Sa loob ng callback function, ang “ kung 'Ang pahayag ay ginagamit upang ipakita ang anumang naganap na mga error at ang nakuhang data ay ipinapakita din sa console window.

Hakbang 3: Pagpapatupad

Upang maisagawa ang code sa itaas, patakbuhin ang naglalaman ng file na pinangalanang ' proApp.js ” sa aming kaso gamit ang command:

node proApp. js

Ang output pagkatapos ng pagpapatupad ay nagpapakita na ang tinukoy na data ay nakuha at ipinakita sa console:

Mga alternatibo ng Node.js Request Module

Dahil sa hindi na paggamit ng ' hiling ” module, mayroong maraming bagong panlabas na mga module na maaaring magamit upang maisagawa ang katulad na pag-andar. Ang mga alternatibong module na ito ay nakasaad sa ibaba:

Mga alternatibo Paglalarawan
node-fetch Ito ay isang promise o stream-based na module na nagdadala ng window.fetch() method sa Node.js.
http Ang ' http ” Ang module ay ang default na module na ibinigay ng Node.js, at nagbibigay ito ng ilang paraan upang makipag-ugnayan sa mga http server habang nagbibigay ng higit na kalayaan.
axios Puro batay sa mga pangako at stream upang magsagawa ng mga kahilingan sa HTTP sa browser mula sa parehong server at dulo ng kliyente.
nakuha Ito ay sobrang human-friendly at ang pinakamakapangyarihang library para sa mga kahilingan sa HTTP.
superagent Batay sa pag-chain at mga pangako habang nagbibigay ng suporta para sa maraming kliyenteng HTTP na may mataas na antas. Mayroon din itong mababang curve sa pagkatuto.
nakayuko Ito ay isang functional na HTTP na nagbabalik ng isang async-type na function.
make-fetch-happen Isang pinahusay na anyo ng ' node-fetch ” modyul. Kasama na dito ang 'request pooling', 'cache support' at marami pang bagay.
karayom Ang modyul na ito ang pinakamalinaw at pinakapasulong na modyul. Ito ay kadalasang ginagamit upang kunin ang data sa pamamagitan ng pagpapadala ng mga kahilingan sa mga mapagkukunan ng third-party.
tiny-json-http Minimalistic na HTTP Client ang ginamit upang maisagawa ang mga JSON payload.

Ngayon, gawin natin ang mga kahilingan sa HTTP sa pamamagitan ng paggamit ng ilang mga module na tinalakay sa itaas.

Paraan 1: Paggawa ng Mga Kahilingan sa HTTP Gamit ang Default na Module ng HTTP

Ang ' http Ang ” ay isang default na module dahil awtomatiko itong na-install sa oras ng pagsisimula ng proyekto ng node.js sa pamamagitan ng pagpapatakbo ng command na “ npm init 'o' npm init -y ”. Dahil nakagawa na kami ng node.js na proyekto, nilaktawan namin ang mga hakbang sa pagsisimula na ipinakita sa simula ng artikulong ito at direktang sumisid sa paggawa ng mga kahilingan sa http gamit ang module na 'http'.

Sa snippet ng code sa ibaba, ang server ay nilikha at bilang tugon, ang dummy na mensahe ay ipinadala sa server:

const httpObj = nangangailangan ( 'http' ) ;

const localServer = httpObj. createServer ( ( kahilingan, tugon ) => {

tugon. magsulat ( ' Welcome sa Twitter Page' ) ;

tugon. wakas ( ) ;

} ) ;

localServer. makinig ka ( 8080 , ( ) => {

console. log ( 'Nagsimula ang server sa port number 8080.' ) ;

} ) ;

Sa itaas na bloke ng code:

  • Una, ang ' http 'Ang module ay na-import sa loob ng kasalukuyang file at ang object nito ay naka-imbak sa isang bagong variable na pinangalanang ' httpObj ”.
  • Susunod, ang server na pinangalanang ' localServer ' ay nilikha sa pamamagitan ng pagtawag sa ' createServer() ” paraan at pagpasa ng callback function bilang parameter nito.
  • Sa loob ng function na ito, tumawag ng ' sumulat() ” paraan at italaga ito ng isang dummy na mensahe na ipapakita sa server. Gayundin, isara ang sesyon ng pagtugon sa pamamagitan ng paggamit ng “ dulo() ” mensahe, ang random na dummy na mensahe ay maaari ding ipasok sa loob ng method parenthesis.
  • Pagkatapos nito, isagawa ang server na ito sa localhost na mayroong port number na “ 8080 'sa pamamagitan ng pagtawag sa' makinig() ” paraan.

Ipatupad ang code sa itaas na naglalaman ng file sa pamamagitan ng pagpapatakbo ng command sa ibaba:

node < fileName. js >

Kinukumpirma ng nabuong output na ang mga kahilingan sa HTTP ay naisagawa sa pamamagitan ng default na “ http ” module:

Paraan 2: Paggawa ng HTTP Request Gamit ang External Axios Module

Ang ' axios ” ay ang pinakasikat at malawakang ginagamit na module pagdating sa pagsasagawa ng mga kahilingan sa HTTP sa isang real-time na kapaligiran. Upang magamit ang modyul na ito, dapat muna itong i-install ng developer sa pamamagitan ng pagsasagawa ng command sa ibaba:

npm install axios

Pagkatapos isagawa ang utos, ang terminal ay lilitaw tulad nito:

Ngayon, tingnan natin ang isang halimbawa kung saan ang ' GET ” Gagamitin ang kahilingan sa HTTP upang kunin ang data mula sa isang random na API. Pagkatapos, ang natanggap na data ay ipinapakita din sa console:

const axiosObj = nangangailangan ( 'axios' ) ;

// URL ng JSON Placeholder API Upang Pumili lamang ng bahagi ng data na mayroong ID na 5

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

//Initialize ang GET Request

axiosObj. makuha ( apiUrl )

. pagkatapos ( tugon => {

console. log ( 'Ang Katayuan para sa Tugon Mula sa API ay:' , tugon. katayuan ) ;

console. log ( 'Ang Data na Natanggap Mula sa API Bilang Tugon sa Kahilingan:' , tugon. datos ) ;

} )

. mahuli ( pagkakamali => {

console. pagkakamali ( 'Naganap ang Error:' , pagkakamali ) ;

} ) ;

Ang paliwanag ng bloke ng code sa itaas ay nakasaad sa ibaba:

  • Una, i-import ang ' axios ” library at iimbak ang instance nito sa variable na pinangalanang “ axiosObj ” na nagsisilbing object ng “axios” library.
  • Susunod, lumikha ng isang variable ' apiUrl ” at iimbak ang URL ng API kung saan kailangang kunin ang data. Sa aming kaso, ang URL ay ' https://jsonplaceholder.typicode.com/todos/5 ' dahil gusto naming kunin ang data na may ID na ' 5 ”.
  • Ngayon, sa tulong ng ' axiosObj 'tawagin ang' kumuha () 'paraan at ipasa ang' appURL ” variable sa loob ng pamamaraang ito ng panaklong.
  • Ilakip ang ' pagkatapos () 'paraan na may ' kumuha () ” na paraan at lumikha ng hindi kilalang arrow function na naglalaman ng isang parameter ng “ tugon ”.
  • ito' tugon Ang ” ay gumaganap bilang isang bagay na naglalaman ng mga halaga o data na ibinalik bilang tugon sa kahilingan sa pamamagitan ng “ kumuha () ” paraan.
  • Sa tulong nito' tugon ” object, kunin ang katayuan ng kahilingan at nilalaman sa pamamagitan ng paglakip ng “ katayuan 'at' datos ” mga keyword sa tabi nito.
  • Panghuli, ilakip ang ' catch() ” paraan na nagpapakita ng mga error kung may nangyari sa panahon ng pagpapatupad ng programa.

Ngayon, i-compile ang code sa itaas sa kapaligiran ng Node.js gamit ang command sa ibaba sa terminal:

node < filename >

Ipinapakita ng ipinapakitang output na ang hiniling na data ay nakuha mula sa ibinigay na pinagmulan bilang tugon at ipinapakita sa console window:

Iyon lang ang tungkol sa paggawa ng mga kahilingan sa HTTP gamit ang Node.js Request Module at isang mabilis na pangkalahatang-ideya ng mga alternatibo nito.

Konklusyon

Upang gumawa ng HTTP na kahilingan sa pamamagitan ng “ hiling ” module, ang kinakailangang URL kung saan isasagawa ang pagkuha. Pagkatapos, gagawin ang instance ng module na 'kahilingan', at ang napiling URL kung saan kailangang ipatupad ang kahilingan sa HTTP ay ipapasa bilang unang parameter. Ginagamit din ang kinakailangang function ng callback upang suriin ang anumang naganap na mga error at makuha ang nilalaman o tugon ng kahilingan sa HTTP. Ipinaliwanag ng gabay na ito ang proseso ng paggawa ng mga kahilingan sa HTTP gamit ang module ng kahilingan.