Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过Javascript获取客户端本地IP地址_Javascript_Jquery_Asp.net - Fatal编程技术网

通过Javascript获取客户端本地IP地址

通过Javascript获取客户端本地IP地址,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我们的情况是通过ASP.Net应用程序获取客户端本地IP而不是全局IP 我们发现不可能通过服务器实现这一点,所以我们尝试使用 $(document).ready(function () { $.get('http://jsonip.com', function (res) { $('p').html('IP Address is: ' + res.ip); }); }); 但是我们正在获得全球IP,我们需要本地IP地址,任何人都可以帮助我们找到解决方案吗,提前谢

我们的情况是通过ASP.Net应用程序获取客户端本地IP而不是全局IP

我们发现不可能通过服务器实现这一点,所以我们尝试使用

$(document).ready(function () {
    $.get('http://jsonip.com', function (res) {
        $('p').html('IP Address is: ' + res.ip);
    });
});

但是我们正在获得全球IP,我们需要本地IP地址,任何人都可以帮助我们找到解决方案吗,提前谢谢。

在HTML5中,HTML5最近的WebRTC扩展允许javascript查询本地客户端IP地址。下面的代码片段提供了概念证明

//注意:window.rtpeerconnection不是FF22/23中的构造函数 var rtpeerconnection=/*window.rtpeerconnection | |*/window.webkittrtpeerconnection | | window.mozrtpeerconnection; 如果RTPEERCONNECTION函数{ var rtc=新的RTPeerConnection{iceServers:[]}; 如果1 | | window.mozRTCPeerConnection{//FF[现在Chrome!]需要一个通道/流才能继续 rtc.createDataChannel,{reliable:false}; }; rtc.onicecandidate=函数evt{ //将候选者转换为SDP,以便我们可以通过通用解析器运行它 //看https://twitter.com/lancestout/status/525796175425720320 详情 如果evt.candidate grepSDPa=+evt.candidate.candidate; }; rtc.createOfferfunction offerDesc{ grepSDPofferDesc.sdp; rtc.setLocalDescriptionofferDesc; },函数e{console.warnoffer失败,e;}; var addrs=Object.createnull; 地址[0.0.0.0]=假; 函数updateDisplaynewAddr{ 如果地址中的newAddr返回; else addrs[newAddr]=true; var displayAddrs=Object.keysaddrs.filterfunction k{return addrs[k];}; document.getElementById'list'.textContent=displayAddrs.join或| | n/a; } 函数grepSDPsdp{ var主机=[]; sdp.split'\r\n'.forEachfunction行{//c.f。http://tools.ietf.org/html/rfc4566page-39 如果~line.indexOfa=候选{//http://tools.ietf.org/html/rfc4566section-5.13 var parts=行。拆分“”,//http://tools.ietf.org/html/rfc5245section-15.1 地址=零件[4], 类型=零件[7]; 如果类型=='host'updateDisplayaddr; }如果~line.indexOfc={//http://tools.ietf.org/html/rfc4566section-5.7 var parts=行。拆分“”, 地址=零件[2]; 更新的Splayaddr; } }; } }; 否则{ document.getElementById'list'.innerHTML=ifconfig | grep inet | grep-v inet6 | cut-d\\\-f2 | tail-n1; document.getElementById'list'.nextSibling.textContent=在Chrome和Firefox中,您的IP应该通过WebRTCskull的强大功能自动显示。; }
您的网络IP是:-检查此答案:非常感谢,这是一款浏览器,操作系统独立吗?这只适用于ChromeEyes,它适用于支持WebRTC Chrome和Firefox的浏览器。我建议我们检查以下链接