Node.JS и Express: получить хост приложения без запроса - PullRequest
3 голосов
/ 21 января 2012

У меня запущено приложение Node.JS & Express на локальном хосте (127.0.0.1), и мне нужно выяснить текущий хост (домен) без выполнения запросов (для задания cron, запускаемого при создании сервера).Сервер создан таким образом

   app = express.createServer();
   app.listen(PORT);   

Теперь я нашел следующее решение

   app.address();

Однако хост, возвращаемый этим 0.0.0.0, порт возвращается правильно, так что я думаю,нужно как-то указывать хост при запуске сервера.Как я могу заставить его получить правильный хост?Я пробовал

  app = express.createServer({host: '127.0.0.1'});

, но это не работает :(

Ответы [ 4 ]

2 голосов
/ 21 января 2012

http://nodejs.org/docs/latest/api/os.html#os.hostname

os.hostname ()

Возвращает имя хоста операционной системы.

Похоже, это то, что вы ищете.

0 голосов
/ 14 августа 2018

Хост может быть достигнут более чем одним Ip, хороший пример того, как его получить, можно найти в следующей статье Получить локальный IP-адрес в node.js

0 голосов
/ 03 октября 2016

Старый вопрос, но любой, кто приземлится здесь, ищет помощи, попробуйте это:

app.get('ip')

Вы можете получить такой же порт

app.get('port')
0 голосов
/ 22 января 2012

Ты не можешь.Вы должны сделать запрос на что-то вроде http://whatismyip.org/

Но причина, по которой вы этого хотите, может быть изменена.Есть несколько модулей, которые можно использовать вместо реальной работы cron, чтобы делать то, что вы хотите.

https://github.com/ncb000gt/node-cron

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...