理解 Node 中的 http 请求
App.js
const http = require('http'); const server = http.createServer((req, res)=>{ console.log(req); }); server.listen(3000);
使用以下命令运行:node App.js
我们可以通过打开浏览器并导航到 localhost:3000 来查看请求对象内部的内容。
控制台窗口会打印大量信息。我们将了解一些重要的属性。
识别请求来源的 URL、请求方法类型和请求头非常重要。
请求头将提供主机和浏览器类型、主机接受的响应等信息。请求方法可以是任何 HTTP 方法类型,例如 GET、POST、PUT、DELETE 等。
const http = require('http'); const server = http.createServer((req, res)=>{ console.log(req.url, req.method, req. headers); }); server.listen(3000);
在上图中,我们打印了请求 URL、方法和请求头信息。控制台将显示以下信息:
我们可以看到请求 URL 为 /hello。请求方法类型为 GET,请求头信息显示主机接受 text/html 等类型的响应。它还包含通过检查日志获取的 HTTP 版本信息。
请求 URL 有助于将其路由到 Node 中的正确控制器。请求方法有助于识别 URL 参数并从请求中获取数据。POST HTTP 方法将数据包含在主体中,而 GET 方法将数据包含在 URL 参数中。需要发送的响应类型将从请求头中的 accept 属性识别。
Node 从请求对象中提供了这些有用的信息。
到目前为止,我们一直在处理来自浏览器的请求。但是,在某些情况下,我们需要从 Node 文件本身执行请求。这可以通过安装名为 request 的模块来实现。
npm install request
const request = require("request"); request(" your url here ", function(error, response, body) { console.log(‘data’, body); });
执行请求有多种方法。我们也可以使用 Axios 库。Axios 是另一个用于发起 HTTP 调用的流行库。
npm install [email protected] const axios = require('axios'); axios.get(' your url here’) .then(responseObject => { console.log(responseObject.data.url); console.log(responseObject.data.explanation); }) .catch(error => { console.log(error); });
还有许多其他库,您可以根据自己的喜好使用。
广告