📅  最后修改于: 2023-12-03 15:16:15.767000             🧑  作者: Mango
在前端中,有时候我们需要获取用户设备的 IP 地址,以进行一些定位或其他操作。
可以通过向服务器发送请求,从请求头中获取 IP 地址。以下是一个示例代码:
fetch('https://api.ipify.org?format=json')
.then(response => response.json())
.then(data => console.log(data.ip))
.catch(error => console.error(error));
这个方法通过向一个公开的 IP 地址获取服务的 API 发送请求,获取到用户设备的 IP 地址。
如果你的系统是一个局域网中的应用系统,你可以通过 WebSocket 获取用户设备的 IP。以下是示例代码:
const socket = new WebSocket('ws://echo.websocket.org');
socket.onopen = function(evt) {
socket.send("Hello Server!");
};
socket.onmessage = function(evt) {
console.log("Received Message: ", evt.data);
socket.close();
};
socket.onclose = function(evt) {
console.log("Connection closed.");
};
socket.onerror = function(evt) {
console.error(evt);
};
这个例子通过向 WebSocket 连接发送请求,获得回复后即可取到用户的 IP 地址。
以上是两种获取用户设备 IP 的方法,你可以根据自己的需求选择相应的方法。