본문 바로가기
Dev/Nodejs-cookie

[Nodejs-cookie] 쿠키 읽기

by Ellen571 2020. 8. 17.
반응형

[생활코딩] 쿠키 읽기

 

 

Nodejs에서 request.headers.cookie을 통해 쿠키값을 얻을 수 있음

 

var http = require('http');
http.createServer(function(request, response){
    
    console.log(request.headers.cookie);

    response.writeHead(200, {
        'Set-Cookie':['yummy_cookie=choco', 'tasty_cookie=strawberry']
    });
    response.end('Cookie!!');
}).listen(3000);

[결과] yummy_cookie=choco; tasty_cookie=strawberry

 

하지만 문자형태로 던져주기에 객체 형태로 변환 필요

 

 

쿠키를 핸들링하는 모듈 설치

 

npm install -s cookie

 

 

Cookie 모듈 사용해서 쿠키값 객체로 읽기

 

var cookie = require('cookie');

 

var cookies = cookie.parse(request.headers.cookie);

 

 

Cookie 모듈을 통한 쿠키값 확인 실습

 

var http = require('http');
var cookie = require('cookie');

http.createServer(function(request, response){
    
    var cookies = cookie.parse(request.headers.cookie);
    console.log(cookies);
    console.log(cookies.yummy_cookie);

    response.writeHead(200, {
        'Set-Cookie':['yummy_cookie=choco', 'tasty_cookie=strawberry']
    });
    response.end('Cookie!!');
}).listen(3000);

 

[결과]

{ yummy_cookie: 'choco', tasty_cookie: 'strawberry' }

choco

 

 

쿠키값이 없을 경우 undefined가 되는데 parse는 undefined를 해석하지 못하면서 error로 전송

 

 

request.headers.cookie값이 undefined가 아닐 때만 parse하기

 

var http = require('http');
var cookie = require('cookie');

http.createServer(function(request, response){

    var cookies = {};
    
    if(request.headers.cookie !== undefined){
        cookies = cookie.parse(request.headers.cookie);
    }

    response.writeHead(200, {
        'Set-Cookie':['yummy_cookie=choco', 'tasty_cookie=strawberry']
    });
    response.end('Cookie!!');
}).listen(3000);
반응형