① js/vue 获取本地ipv4【兼容IE】
最近因某些业务要求,需要获取客户端的本地ip。
获取的格式可以为:
192.168.0.xxx
或者
65f46603-1f39-4ca5-957f-65e231804f91.local
翻遍网络,但是全是chrome或者火狐之类的浏览器,都没有同时可以兼容ie的获取方法。
经过自己整理实现了可兼容IE的获取本地ip的方法:
调用方法
不过IE需要添加自己的网站为 “受信任的站点” ,并且将 安全级别 设为 低
1、Internet 选项
2、添加受信任站点
3、记得把 安全级别设为低 ,重启浏览器即可。
② 请问javascript如何获取内网本机的iPv4呢
//引用CSDN论坛的回答。原理是在DOS命令行环境下输入ipconfig然后用正则过滤
<script>
varfso=newActiveXObject("Scripting.FileSystemObject");
varwsh=newActiveXObject("WScript.Shell");
wsh.Run("command.com/cipconfig/all>C:\ip.txt");
varf=fso.OpenTextFile("C:\ip.txt");
vars=f.ReadAll();
f.Close();
alert(s.match(/IPAddress(.)+:((d{1,3}.){3}(d{1,3}))/i)[2])
</script>
③ 为什么NodeJs获取客户端的IP都是这样的
::1或::ffff:127.0.0.1这样指简的字串,这是IPV6格式的地址,114.114.114.114 这是IPV4格式的地址
如果是用了nginx代理档逗敏,可能就是这种情况行枝
④ php或者JS获取客户端网卡IP地址
|function get_real_ip(){
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
调用内方式容get_real_ip()
⑤ 如何用js或jquery获取浏览器端IP地址
如何用js或者jquery获取客户端的IP地址:
$.getJSON("http://chaxun.1616.net/ip.htm",
function (data) {
alert(data.ip);
}).error(function () { alert("获取IP失败请联网查询"); }) ;
⑥ js获取本地ip兼容方法
js获取本地ip的兼容方法,兼容WebRTC,WebKit和Moz。
1、获取PeerConnection方咐皮法态好,火狐用mozRTCPeerConnection,chrome用webkitRTCPeerConnection。
如果ip不存在,则新建一个。
使用正则匹配ip地址。
监听ip发生改变事件。
使用方法如下
方法总结1、获取PeerConnection方法,火狐用mozRTCPeerConnection,chrome用webkitRTCPeerConnection。
2、如果ip不存在,衡闭差则新建一个。
3、使用正则匹配ip地址。
4、监听ip发生改变事件。
5、使用方法如下。
⑦ 如何用js或者jquery获取客户端的IP地址
1,js取得IP地址的方法一
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script type="text/<A class=infotextkey href="http://www.jb51.net/" target=_blank>javascript</A>">
document.write(returnCitySN["cip"]+','+returnCitySN["cname"])
</script>
2,js取得IP地址的方法二
<script language="javascript" type="text/javascript" src="http://fw.qq.com/ipaddress">
</script>
<script>document.write("你的IP是:"+IPData[0]+",来自:"+IPData[2]);
</script>
3,js取得ip地址的方法三,腾讯IP,转UTF-8:
<script type="text/javascript" src="http://fw.qq.com/ipaddress" charset="gb2312"></script>
$(document).ready(function() {
$("#ip").val(IPData[0]);
$("#add").val(IPData[2]);
})
⑧ js如何获取本地iPv4的地址
varRTCPeerConnection=/*window.RTCPeerConnection||*/window.webkitRTCPeerConnection||window.mozRTCPeerConnection;
if(RTCPeerConnection)(function(){
varrtc=newRTCPeerConnection({iceServers:[]});
if(1||window.mozRTCPeerConnection){//FF[andnowChrome!]needsachannel/streamtoproceed
rtc.createDataChannel('',{reliable:false});
};
rtc.onicecandidate=function(evt){
//
//seehttps://twitter.com/lancestout/status/525796175425720320fordetails
if(evt.candidate)grepSDP("a="+evt.candidate.candidate);
};
rtc.createOffer(function(offerDesc){
grepSDP(offerDesc.sdp);
rtc.setLocalDescription(offerDesc);
},function(e){console.warn("offerfailed",e);});
varaddrs=Object.create(null);
addrs["0.0.0.0"]=false;
functionupdateDisplay(newAddr){
if(newAddrinaddrs)return;
elseaddrs[newAddr]=true;
vardisplayAddrs=Object.keys(addrs).filter(function(k){returnaddrs[k];});
document.getElementById('list').textContent=displayAddrs.join("orperhaps")||"n/a";
}
functiongrepSDP(sdp){
varhosts=[];
sdp.split(' ').forEach(function(line){//c.f.http://tools.ietf.org/html/rfc4566#page-39
if(~line.indexOf("a=candidate")){//http://tools.ietf.org/html/rfc4566#section-5.13
varparts=line.split(''),//http://tools.ietf.org/html/rfc5245#section-15.1
addr=parts[4],
type=parts[7];
if(type==='host')updateDisplay(addr);
}elseif(~line.indexOf("c=")){//http://tools.ietf.org/html/rfc4566#section-5.7
varparts=line.split(''),
addr=parts[2];
updateDisplay(addr);
}
});
}
})();else{
document.getElementById('list').innerHTML="<code>ifconfig|grepinet|grep-vinet6|cut-d""-f2|tail-n1</code>";
document.getElementById('list').nextSibling.textContent=",bythepowerofWebRTCskull.";
}
<h1id="list"></h1>
⑨ 关于JS获取IP的写法!
一、使用JS获取客户端IP的几个方法
方法一(只针对IE且客户端的IE允许AcitiveX运行,通过台:XP,SERVER03,2000)。
获取客户端IP代码:
代码如下:
<HTML>
<HEAD>
<TITLE>GetLocalIP</TITLE>
</HEAD>
<BODY>
获取IP:
<script language="JavaScript"> function GetLocalIPAddr(){ var
oSetting = null; var ip = null; try{ oSetting = new
ActiveXObject("rcbdyctl.Setting"); ip = oSetting.GetIPAddress; if
(ip.length == 0){ return "没有连接到Internet"; } oSetting = null; }catch(e){
return ip; } return ip; } document.write(GetLocalIPAddr()+"<br/>")
</script>
</BODY>
</HTML>
方法二(所有的平台及浏览器):
获取客户端处在网络中的IP,前提是客户得联网。使用的是新浪接口。
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>JavaScript获取客户端IP[利用新浪接口]</title>
</head>
<body>
<script type="text/javascript" src="http://counter.sina.com.cn/ip/" charset="gb2312"></script> <!--获取接口数据,注意charset -->
<script type="text/javascript">
document.writeln("IP地址:"+ILData[0]+"<br />"); //输出接口数据中的IP地址
document.writeln("地址类型:"+ILData[1]+"<br />"); //输出接口数据中的IP地址的类型
document.writeln("地址类型:"+ILData[2]+"<br />"); //输出接口数据中的IP地址的省市
document.writeln("地址类型:"+ILData[3]+"<br />"); //输出接口数据中的IP地址的
document.writeln("地址类型:"+ILData[4]+"<br />"); //输出接口数据中的IP地址的运营商
</script>
</body>
</html>
方法三(所有的平台及浏览器):
使用的搜狐接口
代码如下:
<script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
<script type="text/javascript">
document.write(returnCitySN["cip"]+','+returnCitySN["cname"])
</script>
⑩ JS获取本机IP地址的方法(附上解决浏览器无法获取IP的方法)
获取本机IP地址:
if(typeof window != 'undefined'){
var RTCPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
if (RTCPeerConnection) (()=>{
var rtc = new RTCPeerConnection()
rtc.createDataChannel(''); //创建一个可以发送任意数据的数据通道
rtc.createOffer( offerDesc => { //创建并存态敬野储一个sdp数据
rtc.setLocalDescription(offerDesc)
}, e => { console.log(e)})
rtc.onicecandidate =(evt) => { //监听candidate事件
if (evt.candidate) {
console.log('evt:',evt.candidate)
let ip_rule = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/
var ip_addr = ip_rule.exec(evt.candidate.candidate)[1]
console.log('ip_addr:',ip_addr) //打印获取的IP地址
}}
})()
else{console.log("没有找到")}
}
如果电脑没获取到,基本上是因为浏览帆喊器限制稿搜了,解除方法如下:
解决方案:
火狐(FireFox) 删除隐藏IP
浏览器输入 about:config
搜索配置 media.peerconnection.enabled 改为false ( 刷新程序,IP正常显示 )
谷歌(Chrome) 删除隐藏IP
浏览器输入:chrome://flags/#enable-webrtc-hide-local-ips-with-mdns
把 Anonymize local IPs exposed by WebRTC 设置为 disabled ( 刷新程序,IP正常显示 )