Node.js 如何发送HTTP请求
在REST API的世界里,发送HTTP请求是现代技术的核心功能。当开发者进入一个新的环境时,他们通常会学习这个功能。各种开源库,包括Node.js内置的HTTP和HTTPS模块,可以用于在Node.js中进行网络请求。
有许多方法可以创建不同类型的网络请求。在这里,我们将讨论其中的4种不同方法:
- 使用 AXIOS 模块
- 使用 SuperAgent
- 使用 Node-Fetch 模块
- 使用 HTTP 模块
在这里,我们将发送请求到https://jsonplaceholder.typicode.com/ API,并显示响应的数据。以下是我们的所有REST API。
Method | REST API | Detail |
---|---|---|
GET | /posts |
Listing all resources |
GET | /posts/<id> |
Getting a resource |
POST | /posts |
Creating a resource |
PUT | /posts/<id> |
Updating a resource |
设置一个新项目: 要创建一个新项目,请在终端中输入以下命令。
项目结构: 它将如下所示。
方法1: 在这个方法中,我们将使用 AXIOS 库发送请求获取资源。Axios 是一个基于 Promise 的 NodeJS 的 HTTP 客户端。你也可以在浏览器中使用它。使用 Promise 在处理异步代码(如网络请求)时具有很大的优势。
安装模块:
创建 index.js 并写入以下代码。
index.js
运行应用程序的步骤: 打开终端并输入以下命令。
输出:
方法2: 在这里,我们将使用SuperAgent库发出一个请求来创建一个资源。这是另一个在浏览器中进行网络请求的流行库,它也适用于Node.js。
安装模块:
用以下代码重写 index.js
index.js
运行应用程序的步骤: 打开终端并输入以下命令。
输出:
方法3: 在这里,我们将使用node-fetch库发送一个更新资源的请求。如果您已经在浏览器中使用 Fetch ,那么它可能是您在NodeJS服务器中的好选择。
安装模块:
用以下代码重写 index.js 。
index.js
运行应用程序的步骤:
打开终端并输入以下命令。
输出:
方法4: 我们将使用HTTP模块发送请求来获取所有资源。NodeJS内置了HTTP模块来进行网络请求。但缺点是它不像其他解决方案那样友好。在接收到数据后,你需要手动解析数据。
安装模块: 这是一个内置模块,不需要安装。只需插入并使用即可。
使用以下代码重写 index.js
index.js
运行应用程序的步骤: 打开终端并输入以下命令。
输出:
结论: 我个人的选择是Axios,但npm上还有一些其他流行的库,可以看一下:
- Request
- GOT
- Needle