① 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正常顯示 )