【发布时间】:2015-08-27 23:13:41
【问题描述】:
在我的 node.js 服务器中,我正在尝试登录一个页面,我正在使用这样的请求:
var request = require('request');
request = request.defaults({jar: true});
然后我有这个:
request.post({url: loginUrl, formData: formData}, function(err, httpResponse, body) {
if (err) {
return console.error('upload failed:', err);
}
console.log('Upload successful! Server responded with:', body);
});
在响应中,我可以看到它正确地发布了身份验证详细信息,但它说我无法登录,因为我必须启用 cookie。 'jar' 设置为 'true' 并且我根据请求文档 npm 安装了 'tough-cookie' 但这并没有解决它。任何想法都非常感谢!
【问题讨论】:
-
想一想当您使用浏览器登录此站点时的事件顺序。当您导航到该站点时,您会获取一个 URL,此时服务器可能正在发送一个 cookie。然后,当您登录时,您将身份验证数据与您在初始请求中获得的 cookie 一起发布 - 这是服务器如何知道您是否启用了 cookie 的方式。您正在做的是跳过 GET,因此在 POST 中没有要发送的 cookie,这就是为什么您会遇到 cookie 未启用问题
标签: javascript node.js cookies request http-post