0

リモート Java CMS で認証する単純な NodeJS アプリがあります。認証が成功すると、CMS は Cookie を返します。

ただし、私の人生では、このCookie値にアクセス/取得する方法がわかりません。(認証後に CMS の API にリクエストを送信するには、Cookie が必要です)。

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 の値を読み取るにはどうすればよいですか。

ありがとう、

マイク

** この質問が漠然としていると思われる場合は... そう言っていただければ、解決します。

4

1 に答える 1

1

私はちょうど私の質問に答えたと思います:)

構文が間違っていて、代わりに

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

必要だった

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

今、物事の解析に取り組んでいます:)

于 2015-10-05T14:44:31.840 に答える