尝试启用cookie但获取cookie未启用响应

时间:2015-08-27 23:13:41

标签: javascript node.js cookies request http-post

在我的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;根据请求文档,但没有处理它。任何想法都非常感谢!

2 个答案:

答案 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"