2017-10-16 49 views
0

我试过this,但无法使其正常工作。我做了一个jQuery ajax请求,登录到Drupal系统,其中xhrFieldswithCredentials设置为true。服务器返回会话名称和ID。所以我想我的问题是;我如何将这些withCredentials设置为request,因为它是通过ajax调用完成的?Node.js - 如何在http请求中设置cookie

var cookie = request.cookie(app.session.sessionName + '=' + app.session.sessionId); 

progress(request(url), { 
    header: { 
     'Cookie': cookie 
    } 
}) 

// Access denied [Anonymous user] 

回答

0

设置页眉不工作,但我找到了解决方案(这实际上是在docs);

var request = require('request'); 
var j = request.jar(); 
var cookie = request.cookie(app.session.sessionName + '=' + app.session.sessionId); 
j.setCookie(cookie, url); 

request({url: url, jar: j}) 
//.... 

后来您可以在end事件中看到cookie;

//var cookie_string = j.getCookieString(url); 
//console.log('Cookie: ', cookie_string);