码迷,mamicode.com
首页 > Web开发 > 详细

JS获取客户端IP地址、MAC和主机名的7个方法汇总

时间:2016-05-06 18:57:14      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:

一、使用JS获取客户端IP的几个方法

  方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000)。
  获取客户端IP代码:

技术分享
 1 function GetLocalIPAddr() {
 2     var oSetting = null;
 3     var ip = null;
 4     try {
 5         oSetting = new ActiveXObject("rcbdyctl.Setting");
 6         ip = oSetting.GetIPAddress;
 7         if (ip.length == 0) {
 8             return "没有连接到Internet";
 9         }
10         oSetting = null;
11     } catch (e) {
12         return ip;
13     }
14     return ip;
15 }
js

  方法二(所有的平台及浏览器):
  获取客户端处在网络中的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>
html

  方法三(所有的平台及浏览器):
  使用的搜狐接口:

技术分享
1 <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>  
2 <script type="text/javascript">  
3 document.write(returnCitySN["cip"]+‘,‘+returnCitySN["cname"])  
4 </script>
js

  方法四:太平洋电脑网IP查询接口:

      http://whois.pconline.com.cn/?ip=0.0.0.0

  把0.0.0.0换成IP地址,页面上还有其他无关内容,这些内容是告诉我们哪些接口可以调用、接口调用参数和使用方法等

  通过上边的js接口调用就可以判断用于属于哪个城市,直接显示该城市的相关信息了,对于需要城市切换的网站,首次判断用户来源非常有帮助。

二、使用JS获取计算机名、MAC地址、局域网IP

  方法一(只针对IE且客户端的IE允许AcitiveX运行):
  调用js脚本,获取计算机名(有些人不知道什么是计算机名,简单解释就是它是这台机器的物理名称而不是你在用的那个用户名)和登录的用户名。

技术分享
 1 <HTML>
 2 <HEAD>
 3 <TITLE>WMI Scripting HTML</TITLE>
 4 </HEAD>
 5 <BODY>
 6 <script language=javascript>
 7 var WshShell =new ActiveXObject("WScript.Shell");
 8 document.write("计算机名 = "+ WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")+"<br/>");
 9 document.write("登录用户名 = "+ WshShell.ExpandEnvironmentStrings("%USERNAME%")+"<br/>");
10 </script>
11 </BODY>
12 </HTML>
js

  方法二(只针对IE且客户端的IE允许AcitiveX运行):
  获取计算机名、登录的用户名和域名(如果你加入了域,显示你这台机器处在哪个域中)。

技术分享
 1 <HTML>
 2 <HEAD>
 3 <TITLE>WMI Scripting HTML</TITLE>
 4 </HEAD>
 5 <BODY>
 6 <script language=javascript>
 7 var wshNetwork = new ActiveXObject("WScript.Network");
 8 document.write("域名       = "+ wshNetwork.UserDomain+"<br/>");
 9 document.write("计算机名   = "+ wshNetwork.ComputerName+"<br/>");
10 document.write("登录用户名 = "+ wshNetwork.UserName+"<br/>");
11 </script>
12 </BODY>
13 </HTML>
js

     方法三(只针对IE且客户端的IE允许AcitiveX运行):
   能够获取到局域网IP地址,本机的MAC,以及机器名(代码来源网络)。

技术分享
 1 <html>
 2 <head>
 3     <title></title>
 4 </head>
 5 <body>
 6 <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>
 7 <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object>
 8 <form name="myForm">
 9     <br/>MAC地址:<input type="text" name="macAddress">
10     <br/>IP地址:<input type="text" name="ipAddress">
11     <br/>主机名:<input type="text" name="hostName">
12 </form>
13 </body>
14 </html>
15 <script language="javascript">
16     var sMacAddr = "";
17     var sIPAddr = "";
18     var sDNSName = "";
19     var service = locator.ConnectServer();
20     service.Security_.ImpersonationLevel = 3;
21     service.InstancesOfAsync(foo, Win32_NetworkAdapterConfiguration);
22 </script>
23 <script FOR="foo" EVENT="OnObjectReady(objObject,objAsyncContext)" LANGUAGE="JScript">
24     if (objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) {
25         if (objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
26             sIPAddr = objObject.IPAddress(0);
27         if (objObject.MACAddress != null && objObject.MACAddress != "undefined")
28             sMacAddr = objObject.MACAddress;
29         if (objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
30             sDNSName = objObject.DNSHostName;
31     }
32 </script>
33 <script FOR="foo" EVENT="OnCompleted(hResult,pErrorObject, pAsyncContext)" LANGUAGE="JScript">
34     myForm.macAddress.value = sMacAddr;
35     myForm.ipAddress.value = sIPAddr;
36     myForm.hostName.value = sDNSName;
37 </script>
html

JS获取客户端IP地址、MAC和主机名的7个方法汇总

标签:

原文地址:http://www.cnblogs.com/dfc-fank/p/5466549.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!