2017-10-15 10 views
1

NodeJS、opnを使用して、ログイン後にデフォルトのブラウザで保護されたWebページを開きます。ここにコードを分解します。nodejsクッキーはrequest.postからfollowup request.getコールまで持続しません

var loginActionUrl = "http://example.com/Logon.do"; 

    var protectedPageUrl = "http://example.com/protected_page.html"; 

    request.post({ 
     url: loginActionUrl, 
     jar: jar.getJar(), 
     followAllRedirects: false, 
     body: 'username=' + username + '&password=' + password 

     }, function (err, res, body) { 
      //enter code here 
      request.get({ 
       url:protectedPageurl, 
       method: 'get', 
       jar: jar.getJar() 
      }, function(err, res, body) { 
       // todo 2 
      } 

    }); 

私は、ポストコールから、応答ヘッダーにset-cookieを取得します。

'set-cookie': 
    [ 'X-Uaa-Csrf=JFrlPA; Expires=Thu, 01-Jan-1970 00:00:10 GMT; HttpOnly', 
    'X-Uaa-Csrf=RmXmOa; Expires=Mon, 16-Oct-2017 18:24:22 GMT; HttpOnly', 
    'SESSION=b0536096-e184-4f42-a68f-ff8f58802adc; Path=/Logon/; HttpOnly' ] 

、その後、セットクッキー情報がhttp.getをフォローアップコールで迷子に、あなたは

'set-cookie': [ 'JSESSIONID=8CB721B97EE3C07FAD481A56A84B4D82.protectedpage-111-22-333-44; Path=/ProtectedPage; HttpOnly' ] 

の下に、私はをCookieJarを使用しています参照、新しいレスポンスヘッダからそれを見つけることができません私はfollowAllRedirectsをfalseに設定していますので、期待しています。クッキーは次の呼び出しに引き継がれます。そうではありません。

おかげ

答えて

0

は、個人のCookieJar

// init personal jar 
var cookiejar = request.jar(); 
request.defaults({jar:cookieJar}); 

// reset the jar 
cookieJar = request.jar() 

// if want to add extra to the cookie, 
cookieJar.setCookie('key=value') 
を設定することで、この問題を修正します
関連する問題