node js http post请求保存cookie

Vis*_*hal 3 cookies node.js express

我正在从节点调用 http post 请求(来自另一个 3rd 方服务器的登录请求)并希望保存 cookie 以供将来的 http 请求使用。

var options = {
    host: 'hostname.com',
    port: '80',
    path: '/login.php',
    method: 'POST'
};

var data = qs.stringify({
    uname: "validUsername",
    password: "validPassword"
});

var req = http.request(options, function(response) {
    console.log(response.statusCode);
    console.log('HEADERS: ' + JSON.stringify(response.headers));

    // console.log('Cookies: ' + response.getHeader("Set-Cookie"));
    response.setEncoding('utf8');

    response.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
    });
});

req.on('error', function(e) {
    console.log('problem with request: ' + e.message);
});

req.write(data);
req.end();
Run Code Online (Sandbox Code Playgroud)

如何从请求的服务器发送的响应中访问和保存 cookie?

msc*_*dex 5

您应该能够使用response.headers['set-cookie'];.

如果您需要实际解析它们,您可以使用cookie(Express 使用的)或cookiejar 之类的模块。