16

好的,所以在 Node.js 中获取对我的服务器发出的请求的主机名似乎很容易:

app.get('/', function(req,res){
    console.log(req.headers.host);
});

有没有一种简单的方法来确定我的实际 http 服务器的主机名?例如,我的服务器在该地址运行http://localhost:3000- 我可以通过编程方式确定该地址吗?我正在使用 expressjs。

4

1 回答 1

24

是的,您可以使用;

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();
于 2012-09-24T13:40:57.537 回答