【问题标题】:node js get cookie from 302 redirectnode js从302重定向获取cookie
【发布时间】:2018-07-24 09:55:55
【问题描述】:

我想用 node js 模拟登录。请求为post请求,返回302。

当我想用节点中的请求模拟它时,我得到错误:

Unhandled rejection StatusCodeError: 302 

但是当我查看谷歌浏览器时,响应是空的,但是有一个 Cookie 响应。如何通过节点请求获取此 cookie?

【问题讨论】:

    标签: javascript node.js http request http-headers


    【解决方案1】:

    以下是获取 cookie 的示例代码:

    $.ajax({
        type: "POST",
        url: AppConstants.URLs.PROXY,
        data: message,
        xhrFields: {
            withCredentials: true
        },
        success: function(data, status, xhr) {
            console.log("Cookie: " + xhr.getResponseHeader("Set-Cookie"));
        }
    });
    

    您可以使用 Cookies-js

    在 node.js 的服务器端设置 cookie

    如何通过节点请求获取此 cookie?

    var jsdom = require('jsdom');
    var window = jsdom.jsdom().parentWindow;
    var Cookies = require('cookies-js')(window);
    
    // First set a cookie
    Cookies.set('key', 'value');
    
    // Get the cookie value
    Cookies.get('key'); // "value"
    
    // Using the alias
    Cookies('key'); // "value"
    

    希望这会有所帮助。

    【讨论】:

    • 我正在使用没有浏览器的 javascript 文件。是否可以在没有浏览器的情况下使用 jQuery?因为我没有 DOM
    • 我已经更新了答案,你可以使用 jsdom 获取 DOM。
    • 他说他没有 DOM。
    • 据我所知,cookie 是浏览器实体,不确定是否可以在没有浏览器的情况下运行 jquery。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-09
    • 2012-05-26
    • 2016-03-05
    • 2016-09-07
    • 1970-01-01
    相关资源
    最近更新 更多