提问者:小点点

如何使用NodeJS connect从请求中提取请求http头


我希望获得使用Node JS的connect库包发出的请求的“host”头。我的代码看起来像:

var app = connect()
  .use(connect.logger('dev'))
  .use(connect.static('public'))
  .use(function(req, res){

    var host = req.???

  })
 .listen(3000);

这里提供了connect的文档,但我在上面的代码中没有看到任何有关req对象API的详细信息。http://www.senchalabs.org/connect/

编辑:注意,一个成功的答案必须指向文档(我需要它来验证我正在寻找的API提供了哪个版本)。


共3个答案

匿名用户

如果使用Express4.x,则可以使用req.get(headerName)方法,如Express4.x API参考中所述

匿名用户

要查看HTTP请求标头列表,可以使用:

console.log(JSON.stringify(req.headers));

返回JSON格式的列表。

{
"host":"localhost:8081",
"connection":"keep-alive",
"cache-control":"max-age=0",
"accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
"upgrade-insecure-requests":"1",
"user-agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
"accept-encoding":"gzip, deflate, sdch",
"accept-language":"en-US,en;q=0.8,et;q=0.6"
}

匿名用户

检查console.log(req)console.log(req.headers)的输出;