簡體   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