<%@ Language="VBScript" CODEPAGE="936"%> <% Option Explicit %> <% Response.Buffer = True Dim startime startime=timer() Dim hx Set hx = New Cls_AspCheck class Cls_AspCheck Public FileName,WebName,WebUrl,SysName,SysNameE,SysVersion '检查组件是否被支持 Public Function IsObjInstalled(strClassString) On Error Resume Next Dim xTestObj Set xTestObj = Server.CreateObject(strClassString) If Err Then IsObjInstalled = False else IsObjInstalled = True end if Set xTestObj = Nothing End Function '检查组件版本 Public Function getver(Classstr) On Error Resume Next Dim xTestObj Set xTestObj = Server.CreateObject(Classstr) If Err Then getver="" else getver=xTestObj.version end if Set xTestObj = Nothing End Function Public Function GetObjInfo(startnum,endnum) dim i,Outstr for i=startnum to endnum Outstr = Outstr & " " & theTestObj(i,0) & "" Outstr = Outstr & " "&theTestObj(i,1)&"" Outstr = Outstr & "" If Not IsObjInstalled(theTestObj(i,0)) Then Outstr = Outstr & " ×" Else Outstr = Outstr & "  " & getver(theTestObj(i,0)) & "" End If Outstr = Outstr & "" & vbCrLf next Response.Write(Outstr) End Function Public Function cdrivetype(tnum) Select Case tnum Case 0: cdrivetype = "未知" Case 1: cdrivetype = "可移动磁盘" Case 2: cdrivetype = "本地硬盘" Case 3: cdrivetype = "网络磁盘" Case 4: cdrivetype = "CD-ROM" Case 5: cdrivetype = "RAM 磁盘" End Select end function Private Sub Class_Initialize() WebName="学习者" WebUrl="http://www.learner.com" SysName="ASP探针" SysNameE="AspCheck" SysVersion="V1.2" FileName=Request.ServerVariables("SCRIPT_NAME") End Sub Public Function dtype(num) Select Case num Case 0: dtype = "未知" Case 1: dtype = "可移动磁盘" Case 2: dtype = "本地硬盘" Case 3: dtype = "网络磁盘" Case 4: dtype = "CD-ROM" Case 5: dtype = "RAM 磁盘" End Select End Function Public Function formatdsize(dsize) if dsize>=1073741824 then formatdsize=Formatnumber(dsize/1073741824,2) & " GB" elseif dsize>=1048576 then formatdsize=Formatnumber(dsize/1048576,2) & " MB" elseif dsize>=1024 then formatdsize=Formatnumber(dsize/1024,2) & " KB" else formatdsize=dsize & "B" end if End Function Public Function formatvariables(str) on error resume next str = cstr(server.htmlencode(str)) formatvariables=replace(str,chr(10),"
") End Function Public Sub ShowFooter() dim Endtime,Runtime,OutStr Endtime=timer() OutStr = "
" OutStr = OutStr & "" OutStr = OutStr & "" & vbcrlf Runtime=FormatNumber((endtime-startime)*1000,2) if Runtime>0 then if Runtime>1000 then OutStr = OutStr & "页面执行时间:约"& FormatNumber(runtime/1000,2) & "秒" else OutStr = OutStr & "页面执行时间:约"& Runtime & "毫秒" end if end if OutStr = OutStr & "  " OutStr = OutStr & "" OutStr = OutStr & "
" Response.Write(OutStr) End Sub End class Dim theTestObj(25,1) theTestObj(0,0) = "MSWC.AdRotator" theTestObj(1,0) = "MSWC.BrowserType" theTestObj(2,0) = "MSWC.NextLink" theTestObj(3,0) = "MSWC.Tools" theTestObj(4,0) = "MSWC.Status" theTestObj(5,0) = "MSWC.Counters" theTestObj(6,0) = "MSWC.PermissionChecker" theTestObj(7,0) = "WScript.Shell" theTestObj(8,0) = "Microsoft.XMLHTTP" theTestObj(9,0) = "Scripting.FileSystemObject" theTestObj(9,1) = "(FSO 文本文件读写)" theTestObj(10,0) = "ADODB.Connection" theTestObj(10,1) = "(ADO 数据对象)" theTestObj(11,0) = "SoftArtisans.FileUp" theTestObj(11,1) = "(SA-FileUp 文件上传)" theTestObj(12,0) = "SoftArtisans.FileManager" theTestObj(12,1) = "(SoftArtisans 文件管理)" theTestObj(13,0) = "LyfUpload.UploadFile" theTestObj(13,1) = "(刘云峰的文件上传组件)" theTestObj(14,0) = "Persits.Upload" theTestObj(14,1) = "(ASPUpload 文件上传)" theTestObj(15,0) = "w3.upload" theTestObj(15,1) = "(Dimac 文件上传)" theTestObj(16,0) = "JMail.SmtpMail" theTestObj(16,1) = "(Dimac JMail 邮件收发)" theTestObj(17,0) = "CDONTS.NewMail" theTestObj(17,1) = "(虚拟 SMTP 发信)" theTestObj(18,0) = "Persits.MailSender" theTestObj(18,1) = "(ASPemail 发信)" theTestObj(19,0) = "SMTPsvg.Mailer" theTestObj(19,1) = "(ASPmail 发信)" theTestObj(20,0) = "DkQmail.Qmail" theTestObj(20,1) = "(dkQmail 发信)" theTestObj(21,0) = "Geocel.Mailer" theTestObj(21,1) = "(Geocel 发信)" theTestObj(22,0) = "IISmail.Iismail.1" theTestObj(22,1) = "(IISmail 发信)" theTestObj(23,0) = "SmtpMail.SmtpMail.1" theTestObj(23,1) = "(SmtpMail 发信)" theTestObj(24,0) = "SoftArtisans.ImageGen" theTestObj(24,1) = "(SA 的图像读写组件)" theTestObj(25,0) = "W3Image.Image" theTestObj(25,1) = "(Dimac 的图像读写组件)" %> ASP探针 <% dim action action=request("action") if action="testzujian" then call ObjTest2 end if Call menu Call SystemTest Call ObjTest Call CalculateTest Call DriveTest Call SpeedTest hx.ShowFooter Set hx= nothing %> <%Sub menu%> 选项:服务器有关参数 | 服务器组件情况 | 服务器运算能力 | 服务器磁盘信息 | 服务器连接速度 <%End Sub%> <%Sub smenu(i)%> 5 name=txt<%=i%>>x <%End Sub%> <%Sub SystemTest on error resume next %>
服务器有关参数 <%Call smenu(0)%>

<% End Sub Sub showvariable(action) %> <% if err then outstr = "" err.clear else dim w if action="showwsh" then for each Item in xTestObj w=split(Item,"=") outstr = outstr & "" outstr = outstr & "" outstr = outstr & "" outstr = outstr & "" next else dim i for each Item in xTestObj outstr = outstr & "" outstr = outstr & "" outstr = outstr & "" outstr = outstr & "" next end if end if Response.Write(outstr) set xTestObj=nothing %>
   <% on error resume next dim Item,xTestObj,outstr if action="showapp" then Response.Write("4 遍历Application变量") set xTestObj=Application.Contents elseif action="showsession" then Response.Write("4 遍历Session变量") set xTestObj=Session.Contents elseif action="showvariables" then Response.Write("4 遍历服务器参数") set xTestObj=Request.ServerVariables elseif action="showwsh" then Response.Write("4 遍历环境变量") dim WshShell Set WshShell = server.CreateObject("WScript.Shell") set xTestObj=WshShell.Environment end if Response.Write "(关闭)" %>
变量名
没有符合条件的变量
" & w(0) & "" & w(1) & "
" & Item & "" if IsArray(xTestObj(Item)) then for i=0 to ubound(xTestObj(Item))-1 outstr = outstr & hx.formatvariables(xTestObj(Item)(i)) & "
" next else outstr = outstr & hx.formatvariables(xTestObj(Item)) end if outstr = outstr & "
<%End Sub%> <%Sub ObjTest%>
服务器组件情况 <%Call smenu(1)%>

<% End Sub Sub ObjTest2 Dim strClass strClass = Trim(Request.Form("classname")) If strClass <> "" then Response.Write "
您指定的组件的检查结果:" If Not hx.IsObjInstalled(strClass) then Response.Write "
很遗憾,该服务器不支持" & strclass & "组件!" Else Response.Write "
" Response.Write " 恭喜!该服务器支持" & strclass & "组件。" If hx.getver(strclass)<>"" then Response.Write " 该组件版本是:" & hx.getver(strclass) End if Response.Write "" End If Response.Write "
" end if Response.Write "

返回

" Response.End End Sub Sub CalculateTest %>
服务器运算能力 <%Call smenu(2)%>

<% End Sub Sub DriveTest On Error Resume Next Dim fo,d,xTestObj set fo=Server.Createobject("Scripting.FileSystemObject") set xTestObj=fo.Drives %>
服务器磁盘信息 <%Call smenu(4)%>

<% End Sub Sub SpeedTest Response.Flush() %> <% if action="SpeedTest" then%>

网速测试中,请稍候...

<% end if%>
服务器连接速度 <%smenu(3)%>
<%End Sub%>