創(chuàng)建HTTP請(qǐng)求使現(xiàn)代編程語言的核心功能之一,也是很多程序員在接觸到新的開發(fā)環(huán)境時(shí)最先遇到的技術(shù)之一。在Node.js中有相當(dāng)多的解決方案,其中有語言內(nèi)置功能,也有開源社區(qū)貢獻(xiàn)的開發(fā)庫。下面咱們來看一下比較流行的幾種方式。
在開始之前,請(qǐng)先在自己的計(jì)算機(jī)上安裝最新版的node.js和npm。
HTTP - 標(biāo)準(zhǔn)庫
首先是標(biāo)準(zhǔn)庫中默認(rèn)的 HTTP 模塊。這個(gè)模塊無需安裝依賴外部即可使用,做到了真正的即插即用。缺點(diǎn)是與其他解決方案相比,用起來不是那么友好。
下面的代碼將向NASA的API發(fā)送一個(gè) GET 請(qǐng)求,并輸出當(dāng)天的天文照片的URL,以及它的注解:
const https = require('https'); https.get('https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY', (resp) => { let data = ''; // A chunk of data has been recieved. resp.on('data', (chunk) => { data += chunk; }); // The whole response has been received. Print out the result. resp.on('end', () => { console.log(JSON.parse(data).explanation); }); }).on("error", (err) => { console.log("Error: " + err.message); });