$.get 获取客户端公网ip
时间: 2023-06-26 17:09:48 浏览: 98
jQuery Ajax 实例代码 ($.ajax、$.post、$.get)
在 JavaScript 中,获取客户端公网 IP 有两种方法:
1. 向第三方 API 发送请求获取公网 IP:
你可以向一些第三方 API 发送请求,比如 http://ip-api.com/json 或 https://api.ipify.org ,来获取公网 IP 地址。例如:
```javascript
$.getJSON("http://ip-api.com/json/?callback=?", function(data) {
console.log("Your public IP address is: " + data.query);
});
```
2. 通过 STUN 服务器获取公网 IP:
使用 WebRTC 技术,可以通过 STUN 服务器获取公网 IP。代码如下:
```javascript
var RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection;
// 创建 RTCPeerConnection 对象
var pc = new RTCPeerConnection({iceServers: [{urls: "stun:stun.l.google.com:19302"}]});
// 获取公网 IP
pc.onicecandidate = function(event) {
if (event.candidate) {
console.log("Your public IP address is: " + event.candidate.address);
}
};
pc.createDataChannel("");
// 关闭 RTCPeerConnection 对象
setTimeout(function() {
pc.close();
}, 5000);
```
需要注意的是,第一种方式的准确度取决于第三方 API 的准确度,而第二种方式则需要浏览器支持 WebRTC 技术。
阅读全文