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 依赖内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解redis在nodejs中的应用

    详解redis在nodejs中的应用

    本篇文章给大家详细分析了redis在nodejs中的应,对此知识点有兴趣的朋友可以跟着学习下。
    2018-05-05
  • node.js基于socket.io快速实现一个实时通讯应用

    node.js基于socket.io快速实现一个实时通讯应用

    这篇文章主要介绍了node.js基于socket.io快速实现一个实时通讯应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • 如何在node的express中使用socket.io

    如何在node的express中使用socket.io

    这篇文章主要介绍了如何在node的express中使用socket.io,需要的朋友可以参考下
    2014-12-12
  • node.js中的dns.getServers方法使用说明

    node.js中的dns.getServers方法使用说明

    这篇文章主要介绍了node.js中的dns.getServers方法使用说明,本文介绍了dns.getServers方法说明、语法和实现源码,需要的朋友可以参考下
    2014-12-12
  • Node.js连接postgreSQL并进行数据操作

    Node.js连接postgreSQL并进行数据操作

    自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选。这篇文章就给大家介绍了关于Node.js如何连接postgreSQL数据库,并进行数据操作的方法,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • 利用node实现数据库数据导出到Excel

    利用node实现数据库数据导出到Excel

    本文将详细讲解如何使用Node.js实现从MySQL数据库获取数据,并生成包含多个工作表的 Excel 文件,每个工作表对应数据库中的一个表,有需要的可以了解下
    2024-11-11
  • Node Puppeteer图像识别实现百度指数爬虫的示例

    Node Puppeteer图像识别实现百度指数爬虫的示例

    本篇文章主要介绍了Node Puppeteer图像识别实现百度指数爬虫的示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-02-02
  • 如何使用Node.js爬取任意网页资源并输出PDF文件到本地

    如何使用Node.js爬取任意网页资源并输出PDF文件到本地

    这篇文章主要介绍了使用Node.js爬取任意网页资源并输出高质量PDF文件到本地,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,下面小编就来和大家一起学习吧
    2019-06-06
  • node.js抓取并分析网页内容有无特殊内容的js文件

    node.js抓取并分析网页内容有无特殊内容的js文件

    nodejs获取网页内容绑定data事件,获取到的数据会分几次相应,如果想全局内容匹配,需要等待请求结束,在end结束事件里把累积起来的全局数据进行操作,本文给大家介绍node.js抓取并分析网页内容有无特殊内容的js文件,需要的朋友参考下
    2015-11-11
  • 浅谈Nodejs应用主文件index.js

    浅谈Nodejs应用主文件index.js

    这篇文章主要介绍了浅谈Nodejs应用主文件index.js的相关资料,需要的朋友可以参考下
    2016-08-08

最新评论