如何使用请求节点模块设置自定义cookie?

时间:2019-06-25 16:26:05

标签: node.js request-npm node-crawler

我正在尝试使用节点“请求”模块设置一些自定义cookie。我尝试了4种不同的方法,但是没有运气。

我尝试了以下方法,但现在好运了。

let myConfig = {
    "headers": {
        "x-amz-rid": "X4A8BGXDGC9TEG9Z5NRR",
        "x-amz-id-1": "X4A8BGXDGC9TEG9Z5NRR",
        "X-Amz-Cf-Id": "OjUBxIkMoOoFBqRyKMg_hrw-jNRIaf_HS7IlPz11du0xGRwU6GNaIg=="
    },
    "cookies": {
        "session-id": "260-5749062-3356168",
        "session-id-time": "2082758401l",
        "lc-acbin": "en_IN",
        "x-wl-uid": "1FJ1E1WqLiYOnMGE9HY8Ca2tyMYR/XgN+5EBfvbwPw3L1SxwJ6hVJJyXoNdcc91TvLpf7IhejwhU=",
        "i18n-prefs": "INR"
    }
};

尝试1

let task = {
    uri: uri,
    params: { body },
    preRequest: (options, done) => {
        options = _.assign(options, proxies);
        options.headers = myConfig.headers;
        options.headers.Cookie = myConfig.cookies;
        done();
    }
};

没有一个以上的运气

尝试2

let task = {
    uri: uri,
    params: { body },
    preRequest: (options, done) => {
        options = _.assign(options, proxies);
        options.headers = myConfig.headers;
        options.cookie = myConfig.cookies;
        done();
    }
};

没有一个以上的运气

尝试3

let task = {
    uri: uri,
    params: { body },
    preRequest: (options, done) => {
        options = _.assign(options, proxies);
        options.headers = myConfig.headers;
        const jar = request.jar();
        cookiesString = ``;
        let allCookies = myConfig.cookies;
        for (let key in allCookies) {
            cookiesString += `${key}=${allCookies[key]};`;
        }
        let cookie = request.cookie(cookiesString);
        const url = "/";
        jar.setCookie(cookie, url);
        options.jar = jar;
        done();
    }
};

没有一个以上的运气

尝试4

let task = {
    uri: uri,
    params: { body },
    preRequest: (options, done) => {
        options = _.assign(options, proxies);
        options.headers = myConfig.headers;
        const jar = request.jar();
        cookiesString = ``;
        let allCookies = myConfig.cookies;
        for (let key in allCookies) {
            cookiesString += `${key}=${allCookies[key]};`;
        }
        options.jar = cookiesString;
        done();
    }
};

没有一个以上的运气

Open issue here

有人知道我在哪里做错了吗?

0 个答案:

没有答案