Node.js 中 cookie-parser 依赖安装使用详解

 更新时间:2025年02月19日 10:48:27   作者:yqcoder  
文章介绍了如何在Node.js中使用cookie-parser中间件来解析、设置、签名和清除HTTP请求中的Cookie,感兴趣的朋友一起看看吧

解析 HTTP 请求中的 Cookie 的 Node.js 中间件

一、安装

npm install cookie-parser

二、基本使用

const express = require("express");
const cookieParser = require("cookie-parser");
const app = express();
// 使用 cookie-parser 中间件
app.use(cookieParser());
app.get("/", (req, res) => {
  // 获取请求中的 Cookie
  const cookies = req.cookies;
  console.log("Cookies:", cookies);
  res.send("Cookie parsed successfully");
});
const port = 3000;
app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

二、解析与设置 Cookie

1. 解析 Cookie

`cookie-parser` 会把请求中的 Cookie 解析成一个对象,存储在 `req.cookies` 中。可以通过访问 `req.cookies` 来获取 Cookie 的值。

app.get("/get-cookie", (req, res) => {
  const username = req.cookies.username;
  if (username) {
    res.send(`Hello, ${username}`);
  } else {
    res.send("No username cookie found");
  }
});

2. 设置 Cookie

使用 `res.cookie()` 方法可以设置响应中的 Cookie。该方法接受三个参数:Cookie 的名称、值和可选的配置对象。

app.get("/set-cookie", (req, res) => {
  // 设置一个名为 username 的 Cookie,值为 John,有效期为 1 小时
  res.cookie("username", "John", { maxAge: 3600000, httpOnly: true });
  res.send("Cookie set successfully");
});

3. 签名 Cookie

`cookie-parser` 支持对 Cookie 进行签名,以确保 Cookie 的完整性和安全性。在初始化 `cookie-parser` 时传入一个密钥,就可以使用签名 Cookie。

const express = require("express");
const cookieParser = require("cookie-parser");
const app = express();
// 使用带有密钥的 cookie-parser 中间件
app.use(cookieParser("mysecretkey"));
app.get("/set-signed-cookie", (req, res) => {
  // 设置一个签名的 Cookie
  res.cookie("signedUsername", "Jane", { signed: true });
  res.send("Signed cookie set successfully");
});
app.get("/get-signed-cookie", (req, res) => {
  // 获取签名的 Cookie
  const signedUsername = req.signedCookies.signedUsername;
  if (signedUsername) {
    res.send(`Hello, ${signedUsername}`);
  } else {
    res.send("No signed username cookie found");
  }
});
const port = 3000;
app.listen(port, () => {
  console.log(`Server running on port ${port}`);
});

三、清除 Cookie

使用 `res.clearCookie()` 方法可以清除客户端的 Cookie。需要指定要清除的 Cookie 的名称。

app.get("/clear-cookie", (req, res) => {
  res.clearCookie("username");
  res.send("Cookie cleared successfully");
});

到此这篇关于Node.js 中 cookie-parser 依赖详解的文章就介绍到这了,更多相关Node.js cookie-parser 依赖内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nodejs实现黑名单中间件设计

    nodejs实现黑名单中间件设计

    最近写的项目中涉及到防止灌水的功能,于是设计了黑名单中间件,跟大家分享一下,同时也希望大家有好的建议能够拍砖.
    2014-06-06
  • node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作

    node.js 开发指南 – Node.js 连接 MySQL 并进行数据库操作

    通常在NodeJS开发中我们经常涉及到操作数据库,尤其是 MySQL ,作为应用最为广泛的开源数据库则成为我们的首选,本篇就来介绍下如何通过NodeJS来操作 MySQL 数据库。
    2014-07-07
  • Node.js开发 path路径模块详解

    Node.js开发 path路径模块详解

    path 模块是 Node.js 官方提供的、用来处理路径的模块,它提供了一系列的方法和属性,用来满足用户对路径的处理需求,这篇文章主要介绍了Node.js开发 path路径模块,需要的朋友可以参考下
    2024-02-02
  • NodeJs安装npm包一直失败的解决方法

    NodeJs安装npm包一直失败的解决方法

    本篇文章主要介绍了NodeJs安装npm包一直失败的解决方法。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Ubuntu安装Node.js的2种方式

    Ubuntu安装Node.js的2种方式

    这篇文章主要给大家介绍了关于Ubuntu安装Node.js的2种方式,在Ubuntu系统上安装Node.js和npm非常简单,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-10-10
  • 前端自动化开发之Node.js的环境搭建教程

    前端自动化开发之Node.js的环境搭建教程

    这篇文章主要介绍了前端自动化开发之Node.js环境搭建的相关资料,文中介绍的非常详细,对大家学习或者使用node.js具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-04-04
  • node.js调用Chrome浏览器打开链接地址的方法

    node.js调用Chrome浏览器打开链接地址的方法

    其实在Node.JS中打开浏览器网址非常简单,但还是有必要整理下分享给有需要的朋友们,这篇文章主要给大家介绍了node.js如何调用Chrome浏览器打开链接地址的方法,文中介绍的非常详细,需要的朋友们下面随着小编来一起看看吧。
    2017-05-05
  • 如何从头实现一个node.js的koa框架

    如何从头实现一个node.js的koa框架

    这篇文章主要介绍了如何从头实现一个node.js的koa框架,koa.js是最流行的node.js后端框架之一,有很多网站都使用koa进行开发,同时社区也涌现出了一大批基于koa封装的企业级框架。,需要的朋友可以参考下
    2019-06-06
  • 详解如何查看node端口被占用并杀死

    详解如何查看node端口被占用并杀死

    这篇文章主要给大家介绍了如何查看node端口被占用并杀死,文中给出了相关的解决方法,并通过代码示例给大家介绍的非常详细,对前端开发要学会如何查看端口占用并杀死非常有用,需要的朋友可以参考下
    2024-01-01
  • 10个Node.js库帮助你优化代码和简化开发

    10个Node.js库帮助你优化代码和简化开发

    这篇文章主要介绍了10个Node.js库帮助你优化代码和简化开发,其中包括处理数组、对象、字符串库Lodash,缓存数据处理库Node-cache,解析、操作和格式化日期和时间库Moment.js,Redis操作库,发送电子邮件库Nodemailer
    2023-05-05

最新评论