如何通过js获取ip

javascript 中获取 ip 地址的方法有两种:获取公共 ip 地址 (fetch('https://api.ipify.org?format=json')...) 和获取本地 ip 地址 (function getlocalip() {...})。获取公共 ip 地址需要启用 cors,而获取本地 ip 地址可能会因客户端禁用或浏览器出于隐私考虑阻止而失败。

如何通过js获取ip

获取 IP 地址的 JavaScript 方法

获取客户端的 IP 地址对于网络应用和分析至关重要。在 JavaScript 中,有几种方法可以实现此目的。

获取公共 IP 地址

要获取客户端的公共 IP 地址(即从互联网上可见的 IP 地址),可以使用以下代码:

fetch('https://api.ipify.org?format=json')
  .then((res) => res.json())
  .then((data) => console.log(data.ip))
  .catch((error) => console.error(error));

获取本地 IP 地址

要获取客户端的本地 IP 地址(即在本地网络上可见的 IP 地址),可以使用以下代码:

function getLocalIP() {
  const interfaces = require('os').networkInterfaces();
  for (const name in interfaces) {
    for (const address of interfaces[name]) {
      if (
        address.family === 'IPv4' &&
        !address.internal &&
        address.address !== '127.0.0.1'
      ) {
        return address.address;
      }
    }
  }
  return undefined;
}

注意事项

  • 使用 fetch() API 获取公共 IP 地址需要启用 CORS。
  • 客户端可能禁用对本地 IP 地址的访问。
  • 出于隐私考虑,某些浏览器可能会阻止获取本地 IP 地址。

以上就是如何通过js获取ip的详细内容,更多请关注其它相关文章!