1
使用NodeJS,opn在登錄後在默認瀏覽器中打開受保護的網頁。這裏是代碼分解。nodejs cookie不會從request.post持續到後續請求。致電
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' ]
然後,設置Cookie信息迷失在跟進http.get打電話,你不能從新的響應頭找到它,請參閱下面
'set-cookie': [ 'JSESSIONID=8CB721B97EE3C07FAD481A56A84B4D82.protectedpage-111-22-333-44; Path=/ProtectedPage; HttpOnly' ]
我使用cookieJar爲了獲取/設置cookie,我將followAllRedirects設置爲false,所以,我期待的是,cookie將繼續下一次調用。但事實並非如此。
有什麼想法?感謝