猿问

使用Node.js HTTP Server获取并设置单个Cookie

我希望能够设置一个cookie,并在对nodejs服务器实例的每个请求中读取单个cookie。是否可以用几行代码来完成,而无需引入第三方库?


var http = require('http');


http.createServer(function (request, response) {

  response.writeHead(200, {'Content-Type': 'text/plain'});

  response.end('Hello World\n');

}).listen(8124);


console.log('Server running at http://127.0.0.1:8124/');

只是尝试直接从nodejs.org中获取上述代码,然后在其中工作一个cookie。



蛊毒传说
浏览 864回答 3
3回答

holdtom

如果您使用Express库,就像许多node.js开发人员一样,则有一种更简单的方法。查看Express.js文档页面以获取更多信息。上面的解析示例有效,但是express为您提供了一个很好的功能来解决这一问题:app.use(express.cookieParser());设置Cookie:res.cookie('cookiename', 'cookievalue', { maxAge: 900000, httpOnly: true });清除Cookie:res.clearCookie('cookiename');

慕神8447489

RevNoah最好的答案是使用Express的cookie解析器。但是,这个答案现在已经3年了,已经过时了。使用Express,您可以按以下方式读取Cookievar express = require('express');var cookieParser = require('cookie-parser');var app = express();app.use(cookieParser());app.get('/myapi', function(req, resp) {   console.log(req.cookies['Your-Cookie-Name-Here']);})并package.json用以下内容更新您的版本,替换相应的相对最新版本。"dependencies": {    "express": "4.12.3",    "cookie-parser": "1.4.0"  },此处 和此处介绍了诸如设置和解析Cookie的更多操作
随时随地看视频慕课网APP
我要回答