📜  ip 我的地址 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:26.628000             🧑  作者: Mango

IP 我的地址 - JavaScript

当我们浏览网站时,我们经常需要查看自己的 IP 地址。这时,JavaScript 可以帮助我们获取这些信息。在本文中,我们将介绍如何使用 JavaScript 来获取用户的 IP 地址。

获取 IP 地址的方法

JavaScript 提供了几种方法来获取 IP 地址:

使用第三方服务

有许多第三方服务可以帮助我们获取 IP 地址。其中最常用的是 ipify。使用这个服务的 API,我们可以直接从 JavaScript 代码中获取 IP 地址。

const url = 'https://api.ipify.org?format=json';

fetch(url)
.then(response => response.json())
.then(data => {
   const ipAddress = data.ip;
   console.log(ipAddress);
})
.catch(error => {
   console.log(error);
});
使用 WebRTC

WebRTC 可以让我们在不需要使用第三方服务的情况下,从浏览器中获取 IP 地址。

const getLocalIP = new Promise(resolve => {
   window.RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
   const pc = new RTCPeerConnection({ iceServers: [] });
   pc.createDataChannel("");
   pc.onicecandidate = event => {
      pc.close();
      resolve(event.candidate?.candidate.split(" ")[4]);
   };
   pc.createOffer().then(pc.setLocalDescription.bind(pc));
});
从 HTTP 请求中获取 IP 地址

当一个网站从服务器请求资源时,服务器会收到带有用户 IP 地址的请求。这个 IP 地址可以从 HTTP 请求头中获取。

const ipAddress = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
总结

本文介绍了如何使用 JavaScript 在网页中获取 IP 地址。我们可以使用第三方服务、WebRTC 或者从 HTTP 请求中获取 IP 地址。在实际应用中,我们可以根据自己的需求选择合适的方法来获取 IP 地址。