我正在尝试使用Cookie进行GET,但它在我的node.js程序中无效。但是,GET从POST中的chrome工作正常。为什么会这样?我得到的错误是“用户匿名访问被拒绝”。我相信这是因为这个特殊的API需要一个带有session_id = xxxxxxx的Cookie,我试图像这样传递:
rest.get(<theurl>, {'headers':{'Cookie':<session_id=xxxx>}}.on('complete'.....
我唯一能想到的是session_id = xxx没有被正确地作为变量放入JSON对象中。但我是节点和javascript的新手,所以我不知道如何调试除了把console.log()放在一起。那里有什么想法吗?
答案 0 :(得分:1)
这样的事情:
var options = {
hostname: 'example.com',
path: '/somePath.php',
method: 'GET',
headers: {'Cookie': 'myCookie=myvalue'}
};
var results = '';
var req = http.request(options, function(res) {
res.on('data', function (chunk) {
results = results + chunk;
//TODO
});
res.on('end', function () {
//TODO
});
});
req.on('error', function(e) {
//TODO
});
req.end();
答案 1 :(得分:1)
没有报价的Cookie,像这样:
rest.get(<theurl>, {headers:{Cookie:<session_id=xxxx>}}.on('complete'.....