JS、C#、ASP.NET获取用户客户端ip地址,Mac地址,端口号、主机名案例详解。

21 篇文章 0 订阅
18 篇文章 0 订阅

首先声明,出于安全,JS、C#(ASP.NET)是无法获取到客户端的Mac地址和端口号的,以下方法可以获取到客户端的公网ip地址和内网ip地址:

1、页面引用第三方JS接口,适用所有平台及浏览器,代码及截图如下:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JavaScript获取客户端IP[利用接口]</title>
</head>
<body>
    <div>
        <h3>方法:使用搜狐接口(所有的平台及浏览器)JS无法获取到客户端端口号以及mac地址</h3>
        <script src="http://pv.sohu.com/cityjson?ie=utf-8"></script>
        <script type="text/javascript">
            document.write(returnCitySN["cip"] + ',' + returnCitySN["cname"]);
        </script>
    </div>
</body>
</html>

2、启用IE的ActiveX控件,只能适用IE浏览器,代码及截图如下:

<html>
<head>
    <title></title>
</head>
<body>
    <object classid="CLSID:76A64158-CB41-11D1-8B02-00600806D9B6" id="locator" style="display:none;visibility:hidden"></object>
    <object classid="CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223" id="foo" style="display:none;visibility:hidden"></object>
    <form name="myForm">
        <br />MAC地址:<input type="text" name="macAddress">
        <br />IP地址:<input type="text" name="ipAddress">
        <br />主机名:<input type="text" name="hostName">
    </form>
</body>
</html>
<script language="javascript">
    var sMacAddr = "";
    var sIPAddr = "";
    var sDNSName = "";
    var service = locator.ConnectServer();
    service.Security_.ImpersonationLevel = 3;
    service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
</script>
<script for="foo" event="OnObjectReady(objObject,objAsyncContext)" language="JScript">
    if (objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) {
        if (objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined")
            sIPAddr = objObject.IPAddress(0);
        if (objObject.MACAddress != null && objObject.MACAddress != "undefined")
            sMacAddr = objObject.MACAddress;
        if (objObject.DNSHostName != null && objObject.DNSHostName != "undefined")
            sDNSName = objObject.DNSHostName;
    }
</script>
<script for="foo" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" language="JScript">
    myForm.macAddress.value = sMacAddr;
    myForm.ipAddress.value = sIPAddr;
    myForm.hostName.value = sDNSName;
</script>

3、ASP.NET,代码及截图如下:

 string UserHostAddress = Request.UserHostAddress;//客户端公网IP地址
 string UserAgent = Request.UserAgent;                     //客户端完整用户代理字符串
 string UserHostName = Request.UserHostName;      //客户端DNS名称

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值