📅  最后修改于: 2023-12-03 15:01:26.628000             🧑  作者: Mango
当我们浏览网站时,我们经常需要查看自己的 IP 地址。这时,JavaScript 可以帮助我们获取这些信息。在本文中,我们将介绍如何使用 JavaScript 来获取用户的 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 可以让我们在不需要使用第三方服务的情况下,从浏览器中获取 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));
});
当一个网站从服务器请求资源时,服务器会收到带有用户 IP 地址的请求。这个 IP 地址可以从 HTTP 请求头中获取。
const ipAddress = req.headers['x-forwarded-for'] || req.connection.remoteAddress;
本文介绍了如何使用 JavaScript 在网页中获取 IP 地址。我们可以使用第三方服务、WebRTC 或者从 HTTP 请求中获取 IP 地址。在实际应用中,我们可以根据自己的需求选择合适的方法来获取 IP 地址。