繁体   English   中英

NodeJS - 如何获取远程 IP 地址

[英]NodeJS - How to get remote IP Address

对于我的项目,我需要获取另一个 NodeJS 服务器的远程 IP 地址。 事实上,在比利时等很多国家,电信提供的电脑IP地址并不是固定IP,每隔xx小时就会变化一次。

我需要知道如何实时获取远程 NodeJs 计算机的 Internet IP 地址。

示例:互联网提供商更改 nodeJS 计算机的 IP:我想“相对”实时地知道新 IP。

非常感谢,visualight

如果您想与之通信的远程服务器切换了它的 IP 地址并且没有告诉您(例如,以某种方式联系您的服务器),那么您基本上是走运了。

如果有一个域指向另一台机器,你可以使用这个片段(我无耻地从官方文档中复制)来强制 DNS 解析:

var dns = require('dns');

dns.resolve4('www.google.com', function (err, addresses) {
  if (err) throw err;

  console.log('addresses: ' + JSON.stringify(addresses));

  addresses.forEach(function (a) {
    dns.reverse(a, function (err, domains) {
      if (err) {
        throw err;
      }

      console.log('reverse for ' + a + ': ' + JSON.stringify(domains));
    });
  });
});

更新: npm 上有一个模块可以让您获取机器的公共 IP 地址。 它非常简单,因为它只是对 curlmyip.com 发出请求并返回结果。 您可以使用setInterval设置一些轮询间隔,并在检测到更改时将其发送到其他节点。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM