我正在使用urllib向网页发出请求,而我正试图像这样返回它的标题:
var getHeaders = function(webpage){
var info = urllib.request(webpage, {}, function(err, data, res){
// console.log(res.headers); works fine and shows them
return res.headers; // I thought it should make the info variable have the headers information
});
return info;
}
现在,当我尝试获取网页的set-cookie
之类的标题时,我打算将其从网站返回,但它没有,那么有没有办法返回标题,或者只是不可能这样做?
答案 0 :(得分:5)
在Node中几乎所有东西都是异步完成的,所以你只需要你的函数是异步的。
var getHeaders = function (webpage, done) {
urllib.request(webpage, {}, function(err, data, res){
done(err, res.headers);
});
}
传统的模式是使用回调函数作为第一个参数返回错误(或者在一切顺利的情况下返回一个假值),以及之后需要返回的任何内容。
使用该方法非常类似于您对urllib
事物的处理方式。
getHeaders(webpage, function (err, headers) {
if (err) {
throw err; // or, you know, deal with it.
}
console.log(headers);
});