>安裝請求後,創建一個新的node.js文件,其中包含下面顯示的代碼。該示例的第一行用於將請求導入程序。製作HTTP請求與調用請求()函數一樣簡單。在此示例中,我們正在要求下載JSPRO主頁。請求()的第二個參數當然是回調函數。
>npm install request
request()回調函數採用三個參數 - 錯誤,響應和身體。顧名思義,錯誤包含有關HTTP請求期間發生的任何問題的信息。響應參數是一個對象,其中包含從呼叫返回的各種數據,包括狀態代碼,標題等。第三個回調論點,正文是響應的主體。在上一個示例中,主體包含JSPRO主頁的源代碼。 >也可以將請求模塊與文件系統模塊結合使用,以將HTTP請求傳輸到文件和從文件中。下面的示例再次獲取JSPRO。但是,它沒有在控制台中顯示源代碼,而是寫入名為“ jspro.htm”的文件。
http redirects。另外,請注意,請求()支持此處未顯示的許多其他參數。 >
>提交表單數據
結論 ,如果您喜歡閱讀這篇文章,您會喜歡學習的;從大師那裡學習新鮮技能和技術的地方。成員可以立即訪問SitePoint的所有電子書和交互式在線課程,例如Jump Start start JavaScript。
>對本文的評論已關閉。有關於JavaScript的疑問嗎?為什麼不在我們的論壇上詢問 node.js中的get和post請求有什麼區別? >您可以使用http.get()方法製作獲取請求,傳遞URL和回調函數來處理響應數據。 >同步請求阻止事件循環直到請求完成,而異步請求允許您的應用程序在等待響應時繼續處理其他任務。 >我在製作http請求時如何處理錯誤在node.js中? 為了同時提出多個HTTP請求,您可以使用Promisises或Async/等待等異步功能,也可以使用支持並行請求處理的庫。 npm install request
參數化請求
以前的示例創建了對URL的簡單獲取請求。但是,我們可以通過將配置對像作為第一個參數傳遞到請求()來修改HTTP請求。以下示例使用更強大的語法再次下載JSPRO。注意眾多配置參數。 URI和方法參數告訴請求將Get請求發送到JSPRO。
<span>var request = require("request");
</span><span>request("http://www.sitepoint.com", function(error<span>, response, body</span>) {
</span> <span>console.log(body);
</span><span>});</span>
xx >如前所述,請求不僅支持請求。一個非常普遍的操作是使用POST請求提交表單數據。以下示例使用請求()的表單參數作為帖子的一部分發送用戶名。然後,PHP頁面通過用名稱向用戶打招呼。
<span>var request = require("request");
</span><span>var fs = require("fs");
</span><span>request("http://www.sitepoint.com").pipe(fs.createWriteStream("jspro.htm"));</span>
打交道
許多站點使用cookie跟踪各種用戶交互。 cookie是每次HTTP事務的客戶端和服務器之間來回傳遞的小數據。為了促進cookie的使用,請求提供jar()和cookie()方法。使用cookie()方法創建單個cookie。在以下示例的第3行中,創建了一個指定用戶名稱的cookie。然後將cookie添加到第2行中創建的cookie jar。發出HTTP請求後,使用JAR參數將cookie Jar發送到服務器。
<span>var request = require("request");
</span><span>request({
</span> <span>uri: "http://www.sitepoint.com",
</span> <span>method: "GET",
</span> <span>timeout: 10000,
</span> <span>followRedirect: true,
</span> <span>maxRedirects: 10
</span><span>}, function(error<span>, response, body</span>) {
</span> <span>console.log(body);
</span><span>});</span>
>本文介紹了簡單但功能強大的請求模塊。由於本文並不全面,我建議至少瀏覽文檔,以查看其他請求可以做什麼。請繼續關注即將發表的文章,該文章將使用請求更深入地涵蓋網絡刮擦。
>
>
在Node.js >如何在node.js中提出http請求?
>您可以使用內置的HTTP或HTTPS模塊在Node.js中提出HTTP請求,以用於低級控件,也可以使用Axios,Node-fetch或請求模塊,用於簡化且更高的第三方庫-Level HTTP請求。
>使用第三方庫(如Axios或Node-fetch)的優點是什麼node.js中的http請求? >第三方庫提供更多用戶友好的API,基於承諾或異步/等待支持的支持,並提供了諸如請求/響應處理和自動json解析之類的功能,使它們成為開發人員的流行選擇。
>
>我可以做在node.js中使用內置的HTTP模塊獲取和發布請求? 是的,您可以使用http或https模塊進行獲取和發布請求,但是它需要更多的低級代碼來進行請求配置和響應處理。
>
>
請求使用Node.js中的HTTP模塊? >
>我可以在使用HTTP庫中進行認證的請求node.js? 是的,您可以在使用第三方庫(例如Axios或node-fetch)時在請求標題中包含身份驗證令牌或憑據。許多API都需要身份驗證以訪問。 >是否可以使用node.js將文件上傳到http請求中? 是的,您可以通過將post請求與Multipart/form-data內容類型發送。諸如AXIOS和請求模塊之類的庫提供了處理文件上傳的選項。>如何在node.js中進行並發或併行HTTP請求?
以上是在node.js中提出http請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!