在我的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。 '罐子'设置为' true'我和我一起安装了“坚持饼干”#39;根据请求文档,但没有处理它。任何想法都非常感谢!
答案 0 :(得分:0)
首先发布带有cookie的帖子您可以获取cookie来存储它然后提出请求。
尝试向这些表单的页面请求,然后发布到loginUrl
试试这个:
var request = require('request');
request = request.defaults({jar: true});
var urlWithLoginForm = 'http://some.domain.com/auth';
var loginUrl = urlWithLoginForm+'/attempt';
var formData = {'username': 'user1', 'password': 'blablabla'};
request(urlWithLoginForm, function() { // initialising cookies by doing http get
// so now we have cookies in jar, now we can make post request
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);
});
});
答案 1 :(得分:-1)
您是否在用于访问网站的浏览器中启用了Cookie。这通常意味着"您需要启用Cookie"