如何在节点 js 上访问标头信息

How to access header information on node js?

本文关键字:访问 信息 js 节点      更新时间:2023-09-26

如何在节点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);
});

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

我看到你正在使用 express,所以我建议你使用它非常著名的模块。 饼干解析器 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)