我正在尝试登录到teeSpring.com
,然后使用登录cookie从另一个URL获取响应。当有人登录到teeSpring.com时,它会返回仪表板详细信息。
但是,每当我尝试GET
秒的网址,teeSpring都会返回相同的仪表板详细信息。
如果我在Chrome的REST客户端中同时访问了这两个网址,则会返回预期的不同响应。
那么我的请求有什么问题?
节点JS:即使在更改了url之后,响应也不会被更改
注意:如果有人需要用户名/密码进行测试,请让我知道。
这里是代码:
var http = require('http'),
express = require('express'),
request = require('request');
var request = request.defaults({jar:true});
app.post('/login', [express.urlencoded(), express.json()], function(req, res) {
request.post({
url: 'http://teeSpring.com/login/submitLogin',
form: {
email: req.body.email,
password: req.body.password
}
}, function(error, response, body) {
if (error) {
res.send(400, "There is some problem here.");
} else if(response) {
if(response.statusCode == 302 && response.headers && response.headers.location) {
request.get('http://analytics.teeSpring.com', function(error, response, analyticsBody){
if(!this.error && this.response.statusCode==200) {
res.send(analyticsBody);
}
});
}
} else {
console.log('WTF');
}
});
我不确定,但尝试重命名GET回调函数参数'error'和'response'。这取决于你是否使用严格模式,但相同的变量名可能会或可能不会起作用(即使使用此).. – supertopi
没有运气。仍然是同样的问题。 –
你可以调试你的node.js代码吗?在行res.send(analyticsBody)上设置一个断点;''analyticsBody'真的等于'body'吗? – supertopi