首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >node.js:如何通过请求中的cookie名称获取Cookie值?

node.js:如何通过请求中的cookie名称获取Cookie值?
EN

Stack Overflow用户
提问于 2018-08-13 04:06:34
回答 2查看 18.9K关注 0票数 11

如何通过cookie名称获取cookie值?

res.headers['set-cookie']返回所有cookies。

我需要像res.headers['set-cookie']['cookieName']一样

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-13 04:36:21

我发现这个解决方案可能对你有效。

代码语言:javascript
复制
var get_cookies = function(request) {
  var cookies = {};
  request.headers && request.headers.cookie.split(';').forEach(function(cookie) {
    var parts = cookie.match(/(.*?)=(.*)$/)
    cookies[ parts[1].trim() ] = (parts[2] || '').trim();
  });
  return cookies;
};

然后你就可以使用

代码语言:javascript
复制
get_cookies(request)['cookieName']

但是如果你使用的是表达式,我会建议你

代码语言:javascript
复制
var express = require('express');
var cookieParser = require('cookie-parser');
var app = express();
app.use(cookieParser());

然后为了获得cookie,value.You可以

代码语言:javascript
复制
req.cookies['cookieName']

希望这能有所帮助。我找到了这些解决方案,并为自己工作。

票数 29
EN

Stack Overflow用户

发布于 2021-02-19 02:28:54

打字版本的Rajan Lagah的答案,有一些更多的检查:

代码语言:javascript
复制
const getCookiesAsCollection = function (rawCookie: string): Record<string, string> {
    const cookies: Record<string, string> = {};
    rawCookie && rawCookie.split(";").forEach(function (cookie: string) {
        const parts: RegExpMatchArray | null = cookie.match(/(.*?)=(.*)$/);
        if (parts && parts.length) {
            cookies[parts[1].trim()] = (parts[2] || "").trim();
        }
    });
    return cookies;
};
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51812422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档