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

一、使用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

时间: 2024-08-08 21:51:11

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

js获取客户端ip地址

<script type="text/javascript" src="http://www.coding123.net/getip.ashx?js=1"></script> <script> alert(ip) </script> js获取客户端ip地址

JS获取客户端IP地址、MAC和主机名七种方法

一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD><TITLE>GetLocalIP</TITLE></HEAD><BODY>获取IP:<script language="JavaScript"> function GetLocalIPAddr(){ var oSetti

JS获取IP、MAC和主机名的几种方法

方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000): 获取客户端IP. <HTML> <HEAD> <TITLE>GetLocalIP</TITLE> </HEAD> <BODY> 获取IP: <script language="JavaScript"> function GetLocalIPAddr(){ var oSetting = null; v

c# 获取客户端ip、mac、机器名、操作系统、浏览器信息

d 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 using System.Text; 7 using System.Runtime.InteropServices; 8 9 /// <summary> 10 ///NetHelper 的摘要说明 11 /// </summary> 12 public class NetHelper 1

IT忍者神龟之S获取IP、MAC和主机名多方法、多平台

分享下js获取Ip地址.Mac地址与主机名的几种方法与实现代码,支持多平台下Ip地址获取,有需要的朋友参考下. 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000): Js获取客户端IP地址. 复制代码代码示例: <HTML> <HEAD> <TITLE>GetLocalIP-js获取Ip地址-www.jbxue.com</TITLE> </HEAD> <BODY> 获取IP: <

java获取客户端IP地址和MAC地址

最近项目中要获得客户端的mac地址.服务端是移植的centos系统,arm架构的盒子.客户端是手机和移动设备.(其它场景应该也是类似的) 首先要获得ip地址: 根据客户端的http请求,利用request.getRemoteAddr()获取客户端Ip地址.在局域网内getRemoteAddr()和getRemoteHost()获得的结果相同.request.getRemoteAddr()是获得客户端的ip地址 .getRemoteHost()是获得客户端的主机名 .在有些场景中,可能有Squid

.Net一个很有用的帮助类,包含获取获取浏览器版本号、 获取操作系统版本号、获取客户端IP地址、取客户端真实IP、获取公网IP、判断是否是IP格式

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;using System.Web; namespace ZC.Common.Log{    class UserHelper    { #region 获取浏览器版本号 /// <summary>   

再论 ASP.NET 中获取客户端IP地址

说到IP获取无非是我们常见的以下几种方式,但是具体获取的值具体区别在哪?网上不乏相关文章,说的也是很详细,但是真正使用起来,还有很多不太对的地方.IP在不同系统中,应用相当广泛,常见的日志记录.广告分区域投放等. 1: HttpContext.Current.Request.ServerVariables["HTTP_VIA"]; 2: HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"

性能优化之——.NET(C#)调用webService获取客户端IP地址所属区域(异步回调)(二)

朋友们这次分享的是异步回调不是异步调用哦! 请注意喽! 功能描述,接口地址,方法名称以及参数说明,同上篇:.NET(C#)调用webService获取客户端IP地址所属区域(非异步)(一)(LZ比较懒,不想写太多哦!(⊙0⊙)) 实现代码如下: 1 namespace main 2 { 3 class Program 4 { 5 public static string Result = string.Empty; 6 7 static void Main(string[] args) 8 {