Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript nodejs cookie无法从request.post持久化到后续request.get调用_Javascript_Node.js_Redirect_Cookies - Fatal编程技术网

Javascript nodejs cookie无法从request.post持久化到后续request.get调用

Javascript nodejs cookie无法从request.post持久化到后续request.get调用,javascript,node.js,redirect,cookies,Javascript,Node.js,Redirect,Cookies,使用NodeJS,opn在登录后在默认浏览器中打开受保护的网页。下面是代码分解 var loginActionUrl = "http://example.com/Logon.do"; var protectedPageUrl = "http://example.com/protected_page.html"; request.post({ url: loginActionUrl, jar: jar.getJar(), foll

使用NodeJS,opn在登录后在默认浏览器中打开受保护的网页。下面是代码分解

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
            } 

    });
因此,从post调用中,我在响应头中获得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' ]
然后,set cookie信息在后续http.get调用中丢失,您无法从新的响应头中找到它,请参见下面的

'set-cookie': [ 'JSESSIONID=8CB721B97EE3C07FAD481A56A84B4D82.protectedpage-111-22-333-44; Path=/ProtectedPage; HttpOnly' ]
我正在使用cookieJar获取/设置cookie,我被设置为followAllRedirects为false,因此,我希望cookie将转到下一个调用。但事实并非如此


有什么想法吗?谢谢

通过设置个人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')

这到底是什么意思:P