使用Nodejs从请求中获取标头

时间:2015-03-24 11:04:59

标签: node.js http

我想从请求中获取标题(例如:状态代码,content-lenght,content-type ...)。我的代码:

options = {
            method:'HEAD'
            host:"123.30.xxx.xxx"
            port:80
        }
http.request(options,(res)->
    res.send JSON.stringify(res.headers)
)

但这不起作用

请帮帮我:(

2 个答案:

答案 0 :(得分:0)

您需要在.end()对象上致电http.request()以提出请求 - 请参阅docs

  

使用http.request()时,必须始终调用req.end()来表示您已完成请求 - 即使没有数据写入请求正文。

例如:

var options = {
    method:"HEAD",
    host:"google.com",
    port:80
};
var req = http.request(options,function(res) {
    console.log(JSON.stringify(res.headers));
});

req.end();

代码中的另一个问题是res没有.send()方法 - 如果您指的是另一个res变量(例如,包含您拥有的代码)发布)然后你的变量将是冲突的。如果没有,你应该仔细检查你在这里尝试做什么。

答案 1 :(得分:0)

您的JSON无效,并且您似乎没有在将选项用作变量之前将其实例化。 ev0lutions代码解决了这些问题以及结束请求。

有关如何创建有效JSON的信息,请查看本教程: http://www.w3schools.com/json/