%@ 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)
%>
|
<%
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 "(关闭)"
%>
|
| 变量名 |
值 |
<%
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 & "| " & w(0) & " | "
outstr = outstr & "" & w(1) & " | "
outstr = outstr & "
"
next
else
dim i
for each Item in xTestObj
outstr = outstr & ""
outstr = outstr & "| " & Item & " | "
outstr = outstr & ""
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 & " | "
outstr = outstr & "
"
next
end if
end if
Response.Write(outstr)
set xTestObj=nothing
%>
<%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%>
<%End Sub%>