Node.js 中 cookie-parser 依賴安裝使用詳解
解析 HTTP 請(qǐng)求中的 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) => {
// 獲取請(qǐng)求中的 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}`);
});二、解析與設(shè)置 Cookie
1. 解析 Cookie
`cookie-parser` 會(huì)把請(qǐng)求中的 Cookie 解析成一個(gè)對(duì)象,存儲(chǔ)在 `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. 設(shè)置 Cookie
使用 `res.cookie()` 方法可以設(shè)置響應(yīng)中的 Cookie。該方法接受三個(gè)參數(shù):Cookie 的名稱、值和可選的配置對(duì)象。
app.get("/set-cookie", (req, res) => {
// 設(shè)置一個(gè)名為 username 的 Cookie,值為 John,有效期為 1 小時(shí)
res.cookie("username", "John", { maxAge: 3600000, httpOnly: true });
res.send("Cookie set successfully");
});3. 簽名 Cookie
`cookie-parser` 支持對(duì) Cookie 進(jìn)行簽名,以確保 Cookie 的完整性和安全性。在初始化 `cookie-parser` 時(shí)傳入一個(gè)密鑰,就可以使用簽名 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) => {
// 設(shè)置一個(gè)簽名的 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");
});到此這篇關(guān)于Node.js 中 cookie-parser 依賴詳解的文章就介紹到這了,更多相關(guān)Node.js cookie-parser 依賴內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node.js基于socket.io快速實(shí)現(xiàn)一個(gè)實(shí)時(shí)通訊應(yīng)用
這篇文章主要介紹了node.js基于socket.io快速實(shí)現(xiàn)一個(gè)實(shí)時(shí)通訊應(yīng)用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Node.js連接postgreSQL并進(jìn)行數(shù)據(jù)操作
自從MySQL被Oracle收購以后,PostgreSQL逐漸成為開源關(guān)系型數(shù)據(jù)庫的首選。這篇文章就給大家介紹了關(guān)于Node.js如何連接postgreSQL數(shù)據(jù)庫,并進(jìn)行數(shù)據(jù)操作的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12
利用node實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出到Excel
本文將詳細(xì)講解如何使用Node.js實(shí)現(xiàn)從MySQL數(shù)據(jù)庫獲取數(shù)據(jù),并生成包含多個(gè)工作表的 Excel 文件,每個(gè)工作表對(duì)應(yīng)數(shù)據(jù)庫中的一個(gè)表,有需要的可以了解下2024-11-11
Node Puppeteer圖像識(shí)別實(shí)現(xiàn)百度指數(shù)爬蟲的示例
本篇文章主要介紹了Node Puppeteer圖像識(shí)別實(shí)現(xiàn)百度指數(shù)爬蟲的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
如何使用Node.js爬取任意網(wǎng)頁資源并輸出PDF文件到本地
這篇文章主要介紹了使用Node.js爬取任意網(wǎng)頁資源并輸出高質(zhì)量PDF文件到本地,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,下面小編就來和大家一起學(xué)習(xí)吧2019-06-06
node.js抓取并分析網(wǎng)頁內(nèi)容有無特殊內(nèi)容的js文件
nodejs獲取網(wǎng)頁內(nèi)容綁定data事件,獲取到的數(shù)據(jù)會(huì)分幾次相應(yīng),如果想全局內(nèi)容匹配,需要等待請(qǐng)求結(jié)束,在end結(jié)束事件里把累積起來的全局?jǐn)?shù)據(jù)進(jìn)行操作,本文給大家介紹node.js抓取并分析網(wǎng)頁內(nèi)容有無特殊內(nèi)容的js文件,需要的朋友參考下2015-11-11

