【发布时间】:2014-05-12 20:12:45
【问题描述】:
我正在从节点调用 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();
如何从请求的服务器发送的响应中访问和保存 cookie?
【问题讨论】:
-
我在我的代码中发现了一个问题。如果您通过发布请求发送数据,则添加如下标题:
headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': data.length }其中数据是您在发布请求中发送的内容