node.js:form HTTP身份验证请求模块失败

时间:2015-12-19 11:33:48

标签: javascript node.js

我尝试使用node.js请求模块在登录表单后面获取页面。

'用户名'和密码'是该表格的字段名称,' login.php?do = login'是一种形式行动。这样做我没有得到任何标题和状态代码,但只有[错误:没有auth机制定义]消息在控制台中。

var request = require('request'),

var options = {
    'auth' : {
    'username':'name',
    'password':'pass'
},
url: 'http://example.com/login.php?do=login',
headers: {
    "User-Agent":"user-agent"
    }
}

request.post(options, function(err,res,body) {
if(err){
    console.log(err);
    return;
}
console.log('headers :', res.headers);
console.log('status code :', res.statusCode);
console.log($('body').text());
});

我怎么调查这个?哪种方式可以" sniffered"或类似的东西?

1 个答案:

答案 0 :(得分:3)

请求模块的auth选项是处理basic access authentication。您尝试加载的页面很可能不使用BAA,但使用带有帖子请求的简单表单。使用requests发送表单数据:

var options = {
    url: '...',
    headers: { ... },
    method: 'POST',
    formData: {
        'username':'name',
        'password':'pass'
    }
}