好的,所以在Node.js中看起来很容易获得对我的服务器发出请求的主机名:
app.get('/', function(req,res){
console.log(req.headers.host);
});
有没有简单的方法来确定我的实际http服务器的主机名?例如,我的服务器在地址http://localhost:3000
运行 - 我可以以编程方式确定此地址吗?我正在使用expressjs。
答案 0 :(得分:17)
是的,你可以使用;
var express = require('express'),
app = express(),
server = require('http').createServer(app);
server.listen(3000, function(err) {
console.log(err, server.address());
});
应该打印
{ address: '0.0.0.0', family: 'IPv4', port: 3000 }
您还可以通过以下方式检索操作系统的主机名;
require('os').hostname();
答案 1 :(得分:-2)
0.0.0.0表示它正在侦听主机上可用的所有网络接口(IP地址)。