当前位置: 首页 > 图文教程 > 网络编程 > ASP > 在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

在ASP中取得服务器网卡的MAC地址、DNS地址等网络信息


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 214 ::
收藏到网摘: n/a

 

    前言,笔者由于前段时间要做一个MIS系统的开发,由于该MIS为一个非免费软件,故在完成该系统开发时相应的注册模块也须开发,由于为B/S结构的系统,所以在注册特征码的选择上我选择了独一无二的网卡MAC地址。闲话少说,下面切入正题。由于该系统属商业软件,故以下代码中仅包含代码思路,及简单的实现代码,具体大家可根据代码自由发挥,也可与我一起切磋。

'----------------------提取所有网卡的信息--------------------'

Public Function GetMacInfo()
    On Error Resume Next

    Dim fso, FileStr, AspSleepThread, CmdStr, SysDir, wshshell, CmdRe, MacFileContentFile, MacFileContent
    Const MacFile = "TmpYesoulSoft001.LLP"
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
   
    SysDir = Split(GlobalMod.GetSysDir, ",")(1)
            If InStr(LCase(SysDir), "system32") = 0 Then
            GetMacInfo = "本系统只能运行在Nt、Windows 2000、Windows.Net、Windows Xp、Windows 2003等32位系统下,不支持32位以下的系统!"
'www.knowsky.com
            Exit Function
            Else
            CmdStr = SysDir + "\Cmd.exe /C " + SysDir + "\Ipconfig.exe /All > " + Server.MapPath(MacFile)
            End If
        CmdRe = Shell(CmdStr, vbHide)
        If CmdRe <> 0 Then
        Set MacFileContentFile = fso.OpenTextFile(Server.MapPath(MacFile), 1, False, TristateUseDefault)
        'GetMacInfo = MacFileContentFile.ReadAll()
        'Response.Flush
        FileStr = MacFileContentFile.ReadAll()
        MacFileContentFile.Close
        Set MacFileContentFile = Nothing
        Set AspSleepThread = Server.CreateObject("YesoulSoft.SleepThread")
        '定义线程挂起的时间,这里为毫秒
        AspSleepThread.SleepTime = 500
        AspSleepThread.BeginSleepThread
        GetMacInfo = ExecuteOne(FileStr, "Physical Address. . . . . . . . . : (.*)")
        Set AspSleepThread = Nothing
        Else
        GetMacInfo = "系统当前无法获取您的网络信息,请检查权限继承关系后再运行本系统!"
        Exit Function
        End If
        DelFile MacFile
       
    Set fso = Nothing
   
End Function
'------------------在字符串匹配一次结果-------------------'
Public Function ExecuteOne(inpStr, PatStr)
  Dim oRe, oMatch, oMatches
  Set oRe = New RegExp
  oRe.Pattern = PatStr
  inpStr = LCase(inpStr)
  oRe.IgnoreCase = True
  Set oMatches = oRe.Execute(inpStr)
  Set oMatch = oMatches(0)
  ExecuteOne = oMatch.SubMatches(0)
End Function

代码中GETMACINFO函数仅仅可以获取首个网卡的MAC地址,至于DNS、网关等信息大家可以举一反三啊。