獲取請(qǐng)求是那些請(qǐng)求站點(diǎn)提供指定資源或某些數(shù)據(jù)的請(qǐng)求。
在此Node.js教程中,我們將學(xué)習(xí)如何使用請(qǐng)求模塊從Node.js中的HTTP Web服務(wù)器處理對(duì)其他網(wǎng)站的“獲取請(qǐng)求”。
Node.js有一個(gè)名為“request”的模塊,它可以幫助我們向另一個(gè)網(wǎng)站發(fā)出請(qǐng)求。我們將從安裝Node.js request模塊開(kāi)始。
打開(kāi)終端或命令提示符,然后運(yùn)行以下命令以安裝請(qǐng)求Node.js模塊
$npm install request |
以下是一個(gè)示例Node.js文件,其中將包含請(qǐng)求模塊。并請(qǐng)求獲取資源“ http://www.google.com”。作為第二個(gè)參數(shù)提供的回調(diào)函數(shù)接收error(if any),響應(yīng)和正文。
// 使用請(qǐng)求Node.js模塊處理獲取請(qǐng)求的示例 // 引入request模塊 var request = require("request"); //對(duì)資源“http://www.google.com" 發(fā)出get請(qǐng)求 request("http://www.google.com",function(error,response,body) { console.log(response); });
在終端中運(yùn)行上面的Node.js文件,如下所示
$node serverGetRequests.js |
響應(yīng)將回顯到控制臺(tái)。
如果用GET請(qǐng)求沒(méi)有錯(cuò)誤,內(nèi)容錯(cuò)誤是零。此信息可用作檢查對(duì)資源的獲取請(qǐng)求中是否存在任何錯(cuò)誤。
在某些情況下,我們可能會(huì)為資源獲取“獲取請(qǐng)求”時(shí)出錯(cuò)。以下示例是這種情況,其中提供的URL錯(cuò)誤。
// 包含請(qǐng)求模塊 var request = require("request"); // make a get request for the resource "http://www.go1411ogle.com" request("http://www.go1411ogle.com",function(error,response,body) { console.log(error); });
終端輸出
$ node serverGetRequestsError.js { Error: getaddrinfo ENOTFOUND www.go1411ogle.com www.go1411ogle.com:80 at errnoException (dns.js:53:10) at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:95:26) code: 'ENOTFOUND', errno: 'ENOTFOUND', syscall: 'getaddrinfo', hostname: 'www.go1411ogle.com', host: 'www.go1411ogle.com', port: 80 }
在本Node.js教程中,我們學(xué)習(xí)了如何使用請(qǐng)求模塊從Node.js中的HTTP Web服務(wù)器處理對(duì)其他網(wǎng)站的“獲取請(qǐng)求”。