gpt4 book ai didi

ip-address - 在浏览器中获取本地IP地址的非服务器端方法?

转载 作者:行者123 更新时间:2023-12-04 14:20:50 25 4
gpt4 key购买 nike

我正在尝试为 LAN 上的用户提供一种向网络管理员(我)“注册”的方法,而无需 a) 在我的计算机上托管一个页面 b) 在中央服务器上托管一个脚本(因为它只是一个路由器,不是真正可靠的 HTTP 服务器)或 c) 注册一个动态域,以便前两个中的任何一个,并避免将 URL 发送到本地 IP 的链接的混淆。

有没有一种简单的方法可以通过客户端脚本在屏幕上显示本地 IP 地址?我在想也许我可以有一个 iframe 指向一些通用 url,路径中包含一些 javascript,这样我就可以让用户访问非本地站点,iframe 会弹出他们的 IP 地址然后可以进入主远程页面中的表单。

如果所有其他方法都失败了,有没有办法让他们查找跨平台的 IP 并且不涉及使用命令行(我认为第一个,即使不可能,也可能比第二个更现实)。

最佳答案

幸运的是,Webrtc 可以从 javascript 访问本地 IP。

看看:http://net.ipcalf.com/ (来源)

(它适用于 chrome )

然而,从 Javascript 访问本地 IP 可能是一个隐私和安全问题。

下面是更简单的例子,然后是 net.ipcalf.com

并在 jsfiddle

var RTCPeerConnection = window.webkitRTCPeerConnection || window.mozRTCPeerConnection;

var configuration = { "iceServers": [] };
var pc;
var localIP;

if(RTCPeerConnection){

pc = new RTCPeerConnection(configuration);
pc.onicecandidate = function (evt) {
if (evt.candidate) {
if (!localIP) {
localIP = getIpFromString( evt.candidate.candidate );
console.log(localIP);
}
}
};

pc.createOffer(function (offerDesc) {;
pc.setLocalDescription(offerDesc);
}, function (e) { console.warn("offer failed", e); });

function getIpFromString(a)
{
var r = a.match(/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/);
return r[0];
}

} else {
//browser doesn't support webrtc
}

关于ip-address - 在浏览器中获取本地IP地址的非服务器端方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2138538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com