通过Node.js中的POST请求进行身份验证

通过Node.js中的POST请求进行身份验证,node.js,authentication,request,Node.js,Authentication,Request,我试图通过POST请求发送用户名和密码,通过节点对站点进行身份验证,因为登录表单似乎就是这样做的。当用它进行测试时,效果很好,我被重定向到我的仪表板 很遗憾,用户名和密码字段没有标记为用户名和密码,而是标记为j_用户名和j_密码 这是邮递员给我的资料(供参考): 因此,我在节点中尝试以下操作: var request = require('request'); request.post({ headers: {'content-type' : 'application/x-www-for

我试图通过POST请求发送用户名和密码,通过节点对站点进行身份验证,因为登录表单似乎就是这样做的。当用它进行测试时,效果很好,我被重定向到我的仪表板

很遗憾,用户名和密码字段没有标记为用户名和密码,而是标记为j_用户名和j_密码

这是邮递员给我的资料(供参考):

因此,我在节点中尝试以下操作:

var request = require('request');
request.post({
    headers: {'content-type' : 'application/x-www-form-urlencoded'},
    url:     'https://site.com/path/for/auth/request',
    body:    "j_username=myusername&j_password=mypassword"
}, function(err, res, body){
    console.log(body);
});
但不幸的是,它返回为空,err设置为null

这里会出什么问题?或者是否有更好的方法使用此资源进行身份验证?据我所知,这里不可能通过标题进行基本身份验证


谢谢。

该站点可能正在向您发送HTTP 302重定向,因此这被认为是成功的,这就是为什么没有错误,但也没有响应正文,这就是为什么它是“空的”。您需要查看响应中的状态码以及
位置
标题。

噢,哇,谢谢,这绝对正确,谢谢!很高兴知道我的代码没有问题;)
var request = require('request');
request.post({
    headers: {'content-type' : 'application/x-www-form-urlencoded'},
    url:     'https://site.com/path/for/auth/request',
    body:    "j_username=myusername&j_password=mypassword"
}, function(err, res, body){
    console.log(body);
});