📜  如何在 Node.js 中访问 HTTP Cookie?

📅  最后修改于: 2022-05-13 01:56:19.656000             🧑  作者: Mango

如何在 Node.js 中访问 HTTP Cookie?

Cookie 是存储在客户端并与服务器请求一起发送到客户端的小数据。在 cookie-parser 模块的帮助下,我们可以设置 cookie 以及获取 cookie。

创建一个项目文件夹并从项目的根目录运行以下命令:

npm init -y

该命令将询问模块的名称。一直按 Enter 直到选项结束。这将创建一个带有package.json文件的空 npm 模块。我们现在将使用以下命令安装所有必需的依赖项:

npm install express cookie-parser

我们正在使用express来创建服务器,而cookie-parser是帮助我们轻松使用 cookie 的库。让我们创建一个名为index.js的文件并编写代码来创建一个服务器,该服务器具有两条路由来设置和获取 cookie,如下面的代码所示:

文件名:index.js

Javascript
// Requiring modules
var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
  
// cookieParser middleware
app.use(cookieParser());
  
// Route for setting the cookies
app.get('/setcookie', function (req, res) {
      
  // Setting a cookie with key 'my_cookie' 
  // and value 'geeksforgeeks'
  res.cookie('my_cookie', 'geeksforgeeks');
  res.send('Cookies added');
})
  
// Route for getting all the cookies
app.get('/getcookie', function (req, res) {
    res.send(req.cookies);
})
  
// Server listens to port 3000 
app.listen(3000, (err) => {
    if (err) throw err;
    console.log('server running on port 3000');
});


这里我们有一个路由/setcookie ,它用于设置一个 cookie,其键为my_cookie ,值为geeksforgeeks 。我们可以根据需要将这些键和值更改为任何内容。另一条路线是/getcookie ,它用于获取所有 cookie 并将它们显示在网页上。在代码的最后,我们正在监听 3000 端口,以便我们的服务器能够运行。

使用以下命令运行index.js 文件

node index.js

如上图所示,这将运行服务器。我们可以通过访问localhost:3000/setcookie 来检查 cookie。

这将在添加 cookie 时显示一条消息。我们可以通过访问localhost:3000/getcookie 来检查 cookie。

现在我们可以看到我们的 cookie 已添加到 cookie 对象中,如上所示。