【问题标题】:Node.js - How to set cookies on http requestNode.js - 如何在 http 请求上设置 cookie
【发布时间】:2017-10-17 21:15:48
【问题描述】:

我尝试过this,但无法正常工作。我发出一个 jQuery ajax 请求以登录 Drupal 系统,其中 xhrFields withCredentials 设置为 true。服务器返回会话名称和 ID。所以我想我的问题是;我将如何设置那些 withCredentialsrequest ,因为它是通过 ajax 调用完成的?

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

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

// Access denied [Anonymous user]

【问题讨论】:

    标签: node.js ajax cookies xmlhttprequest


    【解决方案1】:

    设置标头不起作用但我找到了解决方案(实际上是在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);
    

    【讨论】:

      猜你喜欢
      • 2020-09-26
      • 2011-06-24
      • 1970-01-01
      • 2017-03-10
      • 2014-08-23
      • 1970-01-01
      • 2012-03-13
      • 2017-12-22
      • 2014-12-16
      相关资源
      最近更新 更多