我想获得使用Node JS的连接库包发出的请求的"Host"头.我的代码看起来像:
var app = connect()
.use(connect.logger('dev'))
.use(connect.static('public'))
.use(function(req, res){
var host = req.???
})
.listen(3000);
Run Code Online (Sandbox Code Playgroud)
连接的文档在这里,但我没有看到任何详细说明req上述代码中的对象的API .http://www.senchalabs.org/connect/
编辑:注意一个成功的答案必须指向文档(我需要这个来验证哪个版本提供了我正在寻找的API).
Sam*_*ami 299
如果使用Express 4.x,则可以使用Express 4.x API Reference中req.get(headerName)描述的方法
小智 167
要查看HTTP请求标头列表,您可以使用:
console.log(JSON.stringify(req.headers));
Run Code Online (Sandbox Code Playgroud)
以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"
}
Run Code Online (Sandbox Code Playgroud)
Ana*_*liy 134
检查console.log(req)或输出console.log(req.headers);
Bon*_*les 48
var host = req.headers['host'];
Run Code Online (Sandbox Code Playgroud)
标头存储在JavaScript对象中,标头字符串作为对象键.
同样,可以使用获得用户代理标头
var userAgent = req.headers['user-agent'];
Run Code Online (Sandbox Code Playgroud)
小智 7
logger.info({headers:req.headers})
Run Code Online (Sandbox Code Playgroud)
输出;
"headers":{"authorization":"Basic bmluYWQ6bmluYWQ=","content-
type":"application/json","user-
agent":"PostmanRuntime/7.26.8","accept":"*/*","postman-token":"36e0d84a-
55be-4661-bb1e-1f04d9499574","host":"localhost:9012","accept-
encoding":"gzip, deflate, br","connection":"keep-alive","content-
length":"198"}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
318108 次 |
| 最近记录: |