【问题标题】:How to access header information on node js?如何访问节点js的头信息?
【发布时间】:2023-04-11 11:11:01
【问题描述】:

如何在 node js 上读取 cookie ??

var socket  = require( 'socket.io' );
var express = require('express');
var app     = express();
var server  = require('http').createServer(app);
var io      = socket.listen( server );
var port    = process.env.PORT || 8000;
var mysql = require('mysql');


function parseCookies (request) {
    var list = {},
        rc = request.headers.cookie;

    rc && rc.split(';').forEach(function( cookie ) {
        var parts = cookie.split('=');
        list[parts.shift().trim()] = decodeURI(parts.join('='));
    });

    return list;
}


 http.createServer(function (request, response) {
  // To Read a Cookie
    var user_id= cookies.realtimeid;
    console.log(user_id);
});




server.listen(port, function () {
  console.log('Server listening at port %d', port);
  var cookies = parseCookies();
  console.log(cookies);

});

我是节点和套接字的新手。我必须读取 codeignter. 设置的 cookie 值 如何从 server.listenparseCookies 上发送标头请求。

【问题讨论】:

    标签: javascript node.js cookies socket.io


    【解决方案1】:

    我看到你正在使用 express,所以我建议你使用非常知名的模块。 cookie解析器https://www.npmjs.com/package/cookie-parser

    安装

    npm install cookie-parser
    

    如何使用它

    var express      = require('express')
    var cookieParser = require('cookie-parser')
    
    var app = express()
    app.use(cookieParser())
    

    所以基本上在你的mysql要求之后你可以做app.use(cookieParser())

    然后在您在req 变量中执行的每个请求中,您将找到带有req.cookies 的cookie 示例

    var express      = require('express')
    var cookieParser = require('cookie-parser')
    
    var app = express()
    app.use(cookieParser())
    
    app.get('/', function(req, res) {
      console.log("Cookies: ", req.cookies)
    })
    
    app.listen(8080)
    

    【讨论】:

    • 先生有没有其他办法。我已经编辑了我的代码.. 我需要做的就是让 http.createServer 来监听我的端口并将该 user_id 设置为全局
    • 你为什么要把事情弄得这么复杂,而你需要的是添加2行并删除你写的大部分?
    • 好的,我会调查的。感谢您的回复
    • 谢谢它的工作原理...app.get('/', function(req, res) { var cookies=req.cookies; var user_id=cookies.realtimeid; console.log(user_id); }); 现在我可以将此 user_id 设为全局
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多