【问题标题】:How do you print the address of an http server in node.js?如何在 node.js 中打印 http 服务器的地址?
【发布时间】:2017-01-09 02:18:58
【问题描述】:
这是我的代码:
var http = require('http');
function onRequest(req, res) {
// do something
}
var server = http.createServer(onRequest);
server.listen(8000);
console.log("The server is now running on " + <<server.address>>);
我希望 类似于“http://localhost:8000”。我该怎么做?
【问题讨论】:
标签:
node.js
web-services
http
ip-address
【解决方案1】:
var http = require('http');
var server = http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080);
console.log('Server listening:', `http://${server.address().address}:${server.address().port}`);
我认为你可以使用
server.address()#
添加于:v0.1.90 返回绑定地址,地址族名,
和操作系统报告的服务器端口。有用的
在获取操作系统分配的地址时查找分配的端口。
返回具有端口、系列和地址属性的对象:{ 端口:
12346,家庭:'IPv4',地址:'127.0.0.1'}
【解决方案2】:
这应该会在服务器启动时为您提供主机名和端口:
var server = require('http').createServer(onRequest);
var port = '8000';
server.listen(port, function(err) {
console.log(err, require('os').hostname()+':'+port);
});