在JavaScript中,获取本地IP地址可以使用WebRTC技术或者通过发送请求到特定的接口获取网络接口信息。:[0-9]{1,3}\.){3}[0-9]{1,3}\b/);if{callback;}}};//创建一个SDP会话描述pc.createOffer;}//调用函数获取本地IP地址getLocalIP;```请注意,使用WebRTC技术需要在支持该技术的浏览器中运行。
在JavaScript中,获取本地IP地址可以使用WebRTC技术或者通过发送请求到特定的接口获取网络接口信息。
以下是两种方法获取本地IP的示例代码:
1. 使用WebRTC技术获取本地IP地址:
```javascript
function getLocalIP(callback) {
// 创建一个WebRTC RTCPeerConnection对象
var pc = new RTCPeerConnection();
// 创建一个数据通道
pc.createDataChannel("");
// 通过ICE候选对象获取本地IP地址
pc.onicecandidate = function(e) {
if (e.candidate) {
var match = e.candidate.candidate.match(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/);
if (match) {
callback(match[0]);
}
}
};
// 创建一个SDP会话描述
pc.createOffer(function(sdp) {
pc.setLocalDescription(sdp);
}, function(e) {
console.error(e);
});
}
// 调用函数获取本地IP地址
getLocalIP(function(ip) {
console.log("本地IP地址为:" + ip);
});
```
请注意,使用WebRTC技术需要在支持该技术的浏览器中运行。
2. 通过发送请求到接口获取网络接口信息:
```javascript
// 定义要请求的接口地址
var interfaceUrl = "https://api.ipify.org?format=json";
// 发送GET请求获取网络接口信息
var xhr = new XMLHttpRequest();
xhr.open("GET", interfaceUrl, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
console.log("本地IP地址为:" + response.ip);
}
};
xhr.send();
```
请注意,此方法依赖于一个公共的IP查询接口,并且在跨域请求时可能会遇到安全限制。