【问题标题】: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”。我该怎么做?

【问题讨论】:

  • This 可能是相关的。

标签: 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);
    });
    

    【讨论】:

      猜你喜欢
      • 2012-03-24
      • 2021-09-11
      • 1970-01-01
      • 2016-08-04
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2017-09-05
      • 2021-02-22
      相关资源
      最近更新 更多