【问题标题】:I can't access cookie returned after http post in NodeJS我无法访问 NodeJS 中的 http post 后返回的 cookie
【发布时间】:2015-10-05 13:33:40
【问题描述】:

我有一个简单的 NodeJS 应用程序,它通过远程 Java CMS 进行身份验证。成功验证后,CMS 会返回一个 cookie。

但是,在我的一生中,我不知道如何访问/获取这个 cookie 值。 (一旦通过身份验证,我需要 cookie 才能向 CMS 的 API 发出请求)。

我在 curl 命令中返回了 cookie,但无法在 NodeJS 中访问它。 卷曲命令:

curl -v -k --data "username=admin&password=password111&realm=cms101"     
    https://test.abeo.ie/gatekeeper/rs/authenticate/login

现在这是我的 NodeJS 应用程序的代码:

    //disable self-signed ssl cert rejection
    process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

    var http = require('http');
    var request = require('request');
    var Cookies = require('cookies');

    //enable cookies
    request.defaults({jar: true});


    request({
        url: 'https://test.abeo.ie/gatekeeper/rs/authenticate/login', //URL to hit
        qs: {username: 'admin', password: 'password111', realm: 'cms101'}, //Query string data
        method: 'POST', //Specify the method
        headers: { //We can define headers too
            'Content-Type': 'application/x-www-form-urlencoded'
        }


    },

    function(error, response, body){
        if(error) {
            console.log(error);
        } else {

             //response.cookie comes out as 'undefined'
            console.log(response.statusCode, body, response.cookie);

        }
    })

所以我的问题是:当 response.cookie 值打印为未定义时,如何从响应中读取 cookie 值。

谢谢,

迈克

** 如果这个问题似乎含糊不清……你就这么说吧,我会澄清的。

【问题讨论】:

    标签: node.js cookies node-request


    【解决方案1】:

    我想我刚刚回答了我的问题:)

    我的语法错误,而不是

     console.log(response.statusCode, body, response.cookie);
    

    我需要

    console.log(response.statusCode, body, response.headers['set-cookie']);
    

    现在只是在解析这个东西:)

    【讨论】:

      猜你喜欢
      • 2020-04-29
      • 2019-11-26
      • 1970-01-01
      • 2021-01-04
      • 2023-03-07
      • 2020-02-11
      • 1970-01-01
      • 1970-01-01
      • 2014-09-02
      相关资源
      最近更新 更多