js 怎么获取本地ip
Javascript是一门脚本语言,是不能操作文件,读取本地信息的,所以想要获取IP,还需要借助后端技术。方法如下:
如何用js获取客户端IP地址
js获取的ip地址是:自动配置的IPv4地址:
OBJECT id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT/OBJECT
OBJECT id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223/OBJECT
script language=Jscript
var service = locator.ConnectServer();
var MACAddr ;
var IPAddr ;
var DomainAddr;
var sDNSName;
service.Security_.ImpersonationLevel=3;
service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
/script
FORM id=formfoo name=formbar action=NICPost.asp method=post
INPUT value=00:05:5D:0E:C7:FA name=txtMACAddr
INPUT value=58.245.184.191 name=txtIPAddr
INPUT value=typ name=txtDNSName
/FORM
怎样用js获取本机ip?
如果你要纯用js来实现,那就会有安全性的问题了,你要让用户把他的IE针对你的网站,把相应的安全性限制去掉才能使用,js显示本机IP.要注册一个控件,这个控件会出现安全提示,会给用户提示造成很大的影响.所以一般不用js来获取本机IP. 如果你不在意这个的话,代码如下:<HTML> <HEAD> <TITLE> WMI scripting HTML </TITLE> <meta http-equiv=Content-Type content= "text/html; charset=gb2312 "> <script language=Jscript event= "OnCompleted(hResult62pErrorObject, pAsyncContext) " for=foo> document.forms[0].txtMACAddr.value=unescape(MACAddr); document.forms[0].txtIPAddr.value=unescape(IPAddr); document.forms[0].txtDNSName.value=unescape(sDNSName); //document.formbar.submit(); </script> <script language=Jscript event=OnObjectReady(objObjectycgobjAsyncContext) for=foo> if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined " && objObject.IPEnabled == true) { if(objObject.MACAddress != null && objObject.MACAddress != "undefined ") MACAddr = objObject.MACAddress; if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined ") IPAddr = objObject.IPAddress(0); if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined ") sDNSName = objObject.DNSHostName; } </script> <meta content= "MSHTML 6.00.2800.1106 " name=GENERA......余下全文>>
js 获得 本机的ip地址,局域网ip
本机IP可以这样获取:
function myIP() {
if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest();
else xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","",false);
xmlhttp.send();
hostipInfo = xmlhttp.responseText.split("n");
for (i=0; hostipInfo.length = i; i++) {
ipAddress = hostipInfo[i].split(":");
if ( ipAddress[0] == "IP" ) return ipAddress[1];
}
return false;
}
myIP();//返回值就是
局域网IP你也可以仿照上面的方式,用JSONP来做,自己提供服务端接口
js中怎么取得本机的ip地址
function getLocalIPAddress()
{
var obj = null;
var rslt = "127.0.0.1";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
if (!isNull(obj.GetIPAddress))
{
rslt = obj.GetIPAddress;
}
obj = null;
}
catch(e)
{
//异常发生
}
return rslt;
}
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正常显示 )
js获取ip的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js获取ip穿透代理、js获取ip的信息别忘了在本站进行查找喔。