<%


response.buffer=true	
Const PurviewLevel=1
Const PurviewLevel_Channel=0
Const PurviewLevel_Others=""

'声明待检测数组
Dim ObjTotest(26,4)

ObjTotest(0,0) = "MSWC.AdRotator"
ObjTotest(1,0) = "MSWC.BrowserType"
ObjTotest(2,0) = "MSWC.NextLink"
ObjTotest(3,0) = "MSWC.Tools"
ObjTotest(4,0) = "MSWC.Status"
ObjTotest(5,0) = "MSWC.Counters"
ObjTotest(6,0) = "IISSample.ContentRotator"
ObjTotest(7,0) = "IISSample.PageCounter"
ObjTotest(8,0) = "MSWC.PermissionChecker"
ObjTotest(9,0) = "Scripting.FileSystemObject"
ObjTotest(9,1) = "(FSO 文本文件读写)"
ObjTotest(10,0) = "adodb.connection"
ObjTotest(10,1) = "(ADO 数据对象)"
	
ObjTotest(11,0) = "SoftArtisans.FileUp"
ObjTotest(11,1) = "(SA-FileUp 文件上传)"
ObjTotest(12,0) = "SoftArtisans.FileManager"
ObjTotest(12,1) = "(SoftArtisans 文件管理)"
ObjTotest(13,0) = "LyfUpload.UploadFile"
ObjTotest(13,1) = "(刘云峰的文件上传组件)"
ObjTotest(14,0) = "Persits.Upload.1"
ObjTotest(14,1) = "(ASPUpload 文件上传)"
ObjTotest(15,0) = "w3.upload"
ObjTotest(15,1) = "(Dimac 文件上传)"

ObjTotest(16,0) = "JMail.SmtpMail"
ObjTotest(16,1) = "(Dimac JMail 邮件收发) <a href='http://www.ajiang.net'>中文手册下载</a>"
ObjTotest(17,0) = "CDONTS.NewMail"
ObjTotest(17,1) = "(虚拟 SMTP 发信)"
ObjTotest(18,0) = "Persits.MailSender"
ObjTotest(18,1) = "(ASPemail 发信)"
ObjTotest(19,0) = "SMTPsvg.Mailer"
ObjTotest(19,1) = "(ASPmail 发信)"
ObjTotest(20,0) = "DkQmail.Qmail"
ObjTotest(20,1) = "(dkQmail 发信)"
ObjTotest(21,0) = "Geocel.Mailer"
ObjTotest(21,1) = "(Geocel 发信)"
ObjTotest(22,0) = "IISmail.Iismail.1"
ObjTotest(22,1) = "(IISmail 发信)"
ObjTotest(23,0) = "SmtpMail.SmtpMail.1"
ObjTotest(23,1) = "(SmtpMail 发信)"
	
ObjTotest(24,0) = "SoftArtisans.ImageGen"
ObjTotest(24,1) = "(SA 的图像读写组件)"
ObjTotest(25,0) = "W3Image.Image"
ObjTotest(25,1) = "(Dimac 的图像读写组件)"

public IsObj,VerObj

'检查预查组件支持情况及版本

dim i
for i=0 to 25
	on error resume next
	IsObj=false
	VerObj=""
	dim TestObj
	set TestObj=server.CreateObject(ObjTotest(i,0))
	If -2147221005 <> Err then		'感谢网友iAmFisher的宝贵建议
		IsObj = True
		VerObj = TestObj.version
		if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
	end if
	ObjTotest(i,2)=IsObj
	ObjTotest(i,3)=VerObj
next

'检查组件是否被支持及组件版本的子程序
sub ObjTest(strObj)
	on error resume next
	IsObj=false
	VerObj=""
	dim TestObj
	set TestObj=server.CreateObject (strObj)
	If -2147221005 <> Err then		'感谢网友iAmFisher的宝贵建议
		IsObj = True
		VerObj = TestObj.version
		if VerObj="" or isnull(VerObj) then VerObj=TestObj.about
	end if	
End sub
%>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/style.css" type=text/css rel=stylesheet>
<TITLE>服务器信息</TITLE>
</HEAD>
<body>
<div align="center">
  <table cellpadding="2" cellspacing="1" border="0" width="100%" class="tableBorder" align=center>
    <tr align="center">
      <th height=25 class="topbg"><strong>当前服务器信息状况</strong></th>
    </tr>
  </table>
</div>
<br>

<font color=red>&nbsp;&nbsp;服务器的有关参数</font>
<table width=100% border=0 align="center" cellpadding=3 cellspacing=1 class="tableBorder">
	  <tr class="forumRow" height=18>
		<td align=left>&nbsp;服务器名</td>
		<td>&nbsp;<%=Request.ServerVariables("SERVER_NAME")%></td>
	  </tr>
	  <tr class="forumRow" height=18>
		<td align=left>&nbsp;服务器IP</td>
		<td>&nbsp;<%=Request.ServerVariables("LOCAL_ADDR")%></td>
	  </tr>
	  <tr class="forumRow" height=18>
		<td align=left>&nbsp;服务器端口</td>
		<td>&nbsp;<%=Request.ServerVariables("SERVER_PORT")%></td>
	  </tr>
	  <tr class="forumRow" height=18>
		<td align=left>&nbsp;服务器时间</td>
		<td>&nbsp;<%=now%></td>
	  </tr>
</table>
<br>
<font color=red>&nbsp;&nbsp;组件支持情况</font>
<%
Dim strClass
	strClass = Trim(Request.Form("classname"))
	If "" <> strClass then
	Response.Write "<br>您指定的组件的检查结果："
	ObjTest(strClass)
	  If Not IsObj then 
		Response.Write "<br><font color=red>很遗憾，该服务器不支持 " & strclass & " 组件！</font>"
	  Else
		Response.Write "<br><font color=red>恭喜！该服务器支持 " & strclass & " 组件。该组件版本是：" & VerObj & "</font>"
	  End If
	  Response.Write "<br>"
	end if
	%>


<br>&nbsp;&nbsp;■ IIS自带的ASP组件
<table width=100% border="0" align="center" cellpadding="0" cellspacing="1" class="tableBorder" style="border-collapse: collapse">
	<tr height=22 align=center><th width=470>组 件 名 称</th><th width=300>支持及版本</th></tr>
	<%For i=0 to 10%>
	<tr height="18" class="forumRow">
		<td align=left>&nbsp;<%=ObjTotest(i,0) & "<font color=#009286>&nbsp;" & ObjTotest(i,1)%></font></td>
		<td align=left>&nbsp;<%
		If Not ObjTotest(i,2) Then 
			Response.Write "<font color=red><b>×</b></font>"
		Else
			Response.Write "<font color=green><b>√</b></font> <a title='" & ObjTotest(i,3) & "'>" & left(ObjTotest(i,3),11) & "</a>"
		End If%></td>
	</tr>
	<%next%>
</table>

<br>&nbsp;&nbsp;■ 常见的文件上传和管理组件
<table width=100% border="0" align="center" cellpadding="3" cellspacing="1" class="tableBorder" style="border-collapse: collapse">
	<tr height=22 align=center><th width=473>组 件 名 称</th><th width=300>支持及版本</th></tr>
	<%For i=11 to 15%>
	<tr height="18" class="forumRow">
		<td align=left>&nbsp;<%=ObjTotest(i,0) & "<font color=#009286>&nbsp;" & ObjTotest(i,1)%></font></td>
		<td align=left>&nbsp;<%
		If Not ObjTotest(i,2) Then 
			Response.Write "<font color=red><b>×</b></font>"
		Else
			Response.Write "<font color=green><b>√</b></font> <a title='" & ObjTotest(i,3) & "'>" & left(ObjTotest(i,3),11) & "</a>"
		End If%></td>
	</tr>
	<%next%>
</table>

<br>&nbsp;&nbsp;■ 常见的收发邮件组件
<table width=100% border="0" align="center" cellpadding="3" cellspacing="1" class="tableBorder" style="border-collapse: collapse">
	<tr height=22 align=center><th width=473>组 件 名 称</th><th width=300>支持及版本</th></tr>
	<%For i=16 to 23%>
	<tr height="18" class="forumRow">
		<td align=left>&nbsp;<%=ObjTotest(i,0) & "<font color=#009286>&nbsp;" & ObjTotest(i,1)%></font></td>
		<td align=left>&nbsp;<%
		If Not ObjTotest(i,2) Then 
			Response.Write "<font color=red><b>×</b></font>"
		Else
			Response.Write "<font color=green><b>√</b></font> <a title='" & ObjTotest(i,3) & "'>" & left(ObjTotest(i,3),11) & "</a>"
		End If%></td>
	</tr>
	<%next%>
</table>

<br>&nbsp;&nbsp;■ 图像处理组件
<table width=100% border="0" align="center" cellpadding="3" cellspacing="1" class="tableBorder" style="border-collapse: collapse">
	<tr height=22 align=center><th width=473>组 件 名 称</th><th width=300>支持及版本</th></tr>
	<%For i=24 to 25%>
	<tr height="18" class="forumRow">
		<td align=left>&nbsp;<%=ObjTotest(i,0) & "<font color=#009286>&nbsp;" & ObjTotest(i,1)%></font></td>
		<td align=left>&nbsp;<%
		If Not ObjTotest(i,2) Then 
			Response.Write "<font color=red><b>×</b></font>"
		Else
			Response.Write "<font color=green><b>√</b></font> <a title='" & ObjTotest(i,3) & "'>" & left(ObjTotest(i,3),11) & "</a>"
		End If%></td>
	</tr>
	<%next%>
</table>

<br>
<font color=red>&nbsp;&nbsp;其他组件支持情况检测</font><br>
&nbsp;&nbsp;在下面的输入框中输入你要检测的组件的ProgId或ClassId。
<table width=100% border="0" align="center" cellpadding="0" cellspacing="0" class="tableBorder" style="border-collapse: collapse">
<FORM action=<%=Request.ServerVariables("SCRIPT_NAME")%> method=post id=form1 name=form1>
	<tr height="18" class="forumRow">
		
      <td height=30 align="center">&nbsp; 
        <input class=input type=text value="" size=40>
<INPUT type=submit value=" 确 定 " id=submit1 name=submit1>
<INPUT type=reset value=" 重 填 " id=reset1 name=reset1> 
</td>
    </tr>
</FORM>
</table>
<br>
<font color=red>&nbsp;&nbsp;ASP脚本解释和运算速度测试</font><br>
&nbsp;&nbsp;我们让服务器执行50万次“1＋1”的计算，记录其所使用的时间。
<table width=100% border="0" align="center" cellpadding="0" cellspacing="0" class="tableBorder">
  <tr height=18 class=backs align=center>
	<th width=458>服&nbsp;&nbsp;&nbsp;务&nbsp;&nbsp;&nbsp;器</th><th width=300>完成时间</th></tr>
  <tr class="forumRow" height=18>
	<td align=left>&nbsp;中国频道虚拟主机（2002-08-06 9:29）</td><td>&nbsp;610.9 毫秒</td>
  </tr>
  <tr class="forumRow" height=18>
	<td align=left>&nbsp;西部数码west263主机（2002-08-06 9:29）</td><td>&nbsp;357.8 毫秒</td>
  </tr>
  <tr class="forumRow" height=18>
	<td align=left>&nbsp;商务中国虚拟主机（2002-08-06 9:29）</td><td>&nbsp;353.1 毫秒</td>
  </tr>
  <tr class="forumRow" height=18>
	<td align=left>&nbsp;顶尖科技tonydns主机（2002-10-13 14:19）</td><td>&nbsp;303.2 毫秒</td>
  </tr>
  <form action="<%=Request.ServerVariables("SCRIPT_NAME")%>" method=post>
<%

	
	dim t1,t2,lsabc,thetime
	t1=timer
	for i=1 to 500000
		lsabc= 1 + 1
	next
	t2=timer

	thetime=cstr(int(( (t2-t1)*10000 )+0.5)/10)
%>
  <tr class="forumRow" height=18>
	<td align=left>&nbsp;<font color=red>您正在使用的这台服务器</font>&nbsp;</td><td>&nbsp;<font color=red><%=thetime%> 毫秒</font></td>
  </tr>
  </form>
</table>
<br>
<table align=center >
<tr align=center>
    <td width="100%" class=copyright> <%=Chr(51175)&Chr(52460)%>, Copyright (c) 2007-2009, 
      All Rights Reserved , </td>
</tr></table>
</BODY>
</HTML>
