标签:
一、使用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 }
方法二(所有的平台及浏览器):
获取客户端处在网络中的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>
方法三(所有的平台及浏览器):
使用的搜狐接口:
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>
方法四:太平洋电脑网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>
方法二(只针对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>
方法三(只针对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>
标签:
原文地址:http://www.cnblogs.com/dfc-fank/p/5466549.html