Search code examples
node.jscookiesnode-request

How to get cookies from request module in node.js?


function getCookies(){

    request('http://google.com', function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(response.headers);
        }
    })
}

Result

{ date: 'Fri, 11 Dec 2015 07:15:50 GMT',
  expires: '-1',
  'cache-control': 'private, max-age=0',
  'content-type': 'text/html; charset=EUC-KR',
  p3p: 'CP="This is not a P3P policy! See https://www.google.com/support/accounts/answer/151657?hl=en for more info."',
  server: 'gws',
  'x-xss-protection': '1; mode=block',
  'x-frame-options': 'SAMEORIGIN',
  'set-cookie': 
   [ 'PREF=ID=1111111111111111:FF=0:TM=1449818150:LM=1449818150:V=1:S=Q3BB20FA6TkaZymd; expires=Thu, 31-Dec-2015 16:02:17 GMT; path=/; domain=.google.co.kr',
     'NID=74=hnriWxk7N9jHtP5W0qgaxrwD1YuNKOmJg748ucxWilu9jaqHJVovfkYdvMr0tlp-VToID5cdTNDSXNXqr4M8umJ9traab67x2xZKfu3hJbsBRXeVvyiCOcwZ8bkXNcU4; expires=Sat, 11-Jun-2016 07:15:50 GMT; path=/; domain=.google.co.kr; HttpOnly' ],
  'accept-ranges': 'none',
  vary: 'Accept-Encoding',
  connection: 'close' }

I want to pick up value of 'set-cookie' from response headers. How to pick it up? Is there any cool and simple way? Should I use for statement from filedkey, or. What should I do? I don't know I'm totally newbie on Javascript. Thanks...


Solution

  • function getCookies(callback){
    
        request('http://google.com', function (error, response, body) {
            if (!error && response.statusCode == 200) {
                return callback(null, response.headers['set-cookie']);
            } else {
                return callback(error);
            }
        })
    }
    

    then you can call:

    getCookies(function(err, res){
        if(!err)
           console.log(res)
    })