有关win2000、IIS5中asp详细出错信息的显示(我一直在找的东西)

蝈蝈俊 2000-07-21 11:38:00
有关win2000、IIS5中asp详细出错信息的显示

关键词:ASP

最近经常有人问在win2000和IIS5中不显示asp错误的详细信息,而只显示错误号,如"错误ID800xxxxx",这使得程序调试很不方便,有些人采取在IIS中设置500-100错误指向默认,这样做也不会出现详细的错误信息。实际上这可能是微软出于安全考虑而在500-100.asp中没有显示详细出错信息。其实,你只要把500-100.asp稍加修改就可以了。下面是我修改的这个文件的内容。你只要把他copy下来存为500-100.asp然后覆盖原来的这个文件就可以了。注意文件中两行横线之间就是我修改的部分。


500-100.asp:


<%@ language="VBScript" %>
<%
Option Explicit

Const lngMaxFormBytes = 200

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRemoteIP
Dim strMethod, lngPos, datNow, strQueryString, strURL

If Response.Buffer Then
Response.Clear
Response.Status = "500 Internal Server Error"
Response.ContentType = "text/html"
Response.Expires = 0
End If

Set objASPError = Server.GetLastError
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html dir=ltr>

<head>
<style>
a:link {font:9pt 宋体; color:FF0000}
a:visited {font:9pt 宋体; color:#4e4e4e}
</style>

<META NAME="ROBOTS" CONTENT="NOINDEX">

<title>本页无法显示</title>

<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
<META NAME="MS.LOCALE" CONTENT="ZH-CN">
</head>

<script>
function Homepage(){
<!--
// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm

//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https://www.microsoft.com/bar.htm"
DocURL=document.URL;

//this is where the http or https will be, as found by searching for :// but skipping the res://
protocolIndex=DocURL.indexOf("://",4);

//this finds the ending slash for the domain server
serverIndex=DocURL.indexOf("/",protocolIndex + 3);

//for the href, we need a valid URL to the domain. We search for the # symbol to find the begining
//of the true URL, and add 1 to skip it - this is the BeginURL value. We use serverIndex as the end marker.
//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
BeginURL=DocURL.indexOf("#",1) + 1;
urlresult=DocURL.substring(BeginURL,serverIndex);

//for display, we need to skip after http://, and go to the next slash
displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex);
document.write('<A HREF="' + urlresult + '">' + displayresult + "</a>");
}
//-->
</script>

<body bgcolor="FFFFFF">

<table width="410" cellpadding="3" cellspacing="5">

<tr>
<td align="left" valign="middle" width="360">
<h1 style="COLOR:000000; FONT: 9pt 宋体"><!--Problem-->本页无法显示</h1>
</td>
</tr>

<tr>
<td width="400" colspan="2">
<font style="COLOR:000000; FONT: 9pt 宋体">试图访问的网页出现问题,无法显示。</font></td>
</tr>

<tr>
<td width="400" colspan="2">
<font style="COLOR:000000; FONT: 9pt 宋体">

<hr color="#C0C0C0" noshade>

<p>请尝试以下方法:</p>

<ul>
<li id="instructionsText1">单击
<a href="javascript:location.reload()">
刷新</a>按钮或者梢候再试。<br>
</li>

<li>打开

<script>
<!--
if (!((window.navigator.userAgent.indexOf("MSIE") > 0) && (window.navigator.appVersion.charAt(0) == "2")))
{
Homepage();
}
//-->
</script>

主页,然后查找与所需信息相关的链接。 </li>
</ul>

<h2 style="FONT: 9pt 宋体; color:000000">HTTP 500.100 - 内部服务器错误 - ASP 错误<br>
Internet 信息服务</h2>

<hr color="#C0C0C0" noshade>

<p>技术信息(适用于支持人员)</p>

<ul>
<li>错误类型:<br>
<%
Dim bakCodepage
bakCodepage = Session.Codepage
Session.Codepage = 936
Response.Write Server.HTMLEncode(objASPError.Category)
If objASPError.ASPCode > "" Then Response.Write Server.HTMLEncode(", " & objASPError.ASPCode)
Response.Write Server.HTMLEncode(" (0x" & Hex(objASPError.Number) & ")" ) & "<br>"

If objASPError.ASPDescription > "" Then Response.Write Server.HTMLEncode(objASPError.ASPDescription) & "<br>"

blnErrorWritten = False

' Only show the Source if it is available and the request is from the same machine as IIS
If objASPError.Source > "" Then
strServername = LCase(Request.ServerVariables("SERVER_NAME"))
strServerIP = Request.ServerVariables("LOCAL_ADDR")
strRemoteIP = Request.ServerVariables("REMOTE_ADDR")
If (strServername = "localhost" Or strServerIP = strRemoteIP) And objASPError.File <> "?" Then
Response.Write Server.HTMLEncode(objASPError.File)
If objASPError.Line > 0 Then Response.Write ", 第 " & objASPError.Line & " 行"
If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列"
Response.Write "<br>"
Response.Write "<font style=""COLOR:000000; FONT: 9pt 宋体""><b>"
Response.Write Server.HTMLEncode(objASPError.Source) & "<br>"
If objASPError.Column > 0 Then Response.Write String((objASPError.Column - 1), "-") & "^<br>"
Response.Write "</b></font>"
blnErrorWritten = True
End If
End If

If Not blnErrorWritten And objASPError.File <> "?" Then
Response.Write "<b>"
Response.Write Server.HTMLEncode(objASPError.File)
If objASPError.Line > 0 Then Response.Write Server.HTMLEncode(", 第 " & objASPError.Line & " 行")
If objASPError.Column > 0 Then Response.Write ", 第 " & objASPError.Column & " 列"
'-------------------------------------------------------------------
' added by Bigeagle
' date: 2000/5/10

dim l_strAspDescription
l_strAspDescription = "错误原因:" + objASPError.Description()
if l_strAspDescription <> "" then
response.write("<p>" + l_strAspDescription+ "</p>")
end if

l_strAspDescription = "详细描述:" + objASPError.ASPDescription()
if l_strAspDescription <> "" then
response.write("<p>" + l_strAspDescription+ "</p>")
end if

'-------------------------------------------------------------------
Response.Write "</b><br>"
End If
%>
</li>
<p>
<li>浏览器类型:<br>
<%= Request.ServerVariables("HTTP_USER_AGENT") %>
</li>
<p>
<li>页:<br>
<%
strMethod = Request.ServerVariables("REQUEST_METHOD")

Response.Write strMethod & " "

If strMethod = "POST" Then
Response.Write Request.TotalBytes & " bytes to "
End If

Response.Write Request.ServerVariables("SCRIPT_NAME")

lngPos = InStr(Request.QueryString, " and ")

If lngPos > 1 Then
Response.Write "?" & Left(Request.QueryString, (lngPos - 1))
End If

Response.Write "</li>"

If strMethod = "POST" Then
Response.Write "<p><li>POST 数据:<br>"
If Request.TotalBytes > lngMaxFormBytes Then
Response.Write Server.HTMLEncode(Left(Request.Form, lngMaxFormBytes)) & " . . ."
Else
Response.Write Server.HTMLEncode(Request.Form)
End If
Response.Write "</li>"
End If

%>
<p>
<li>时间:<br>
<%
datNow = Now()

Response.Write Server.HTMLEncode(FormatDateTime(datNow, 1) & ", " & FormatDateTime(datNow, 3))
Session.Codepage = bakCodepage
%>
</li>
</p>
<p>
<li>详细信息:<br>
<% strQueryString = "prd=iis&sbp=&pver=5.0&ID=500;100&cat=" & Server.URLEncode(objASPError.Category) & _
"&os=&over=&hrd=&Opt1=" & Server.URLEncode(objASPError.ASPCode) & "&Opt2=" & Server.URLEncode(objASPError.Number) & _
"&Opt3=" & Server.URLEncode(objASPError.Description)
strURL = "http://www.microsoft.com/ContentRedirect.asp?" & _
strQueryString
%>
<a href="<%= strURL %>">Microsoft 支持</a>
</li>
</p>

</font></td>
</tr>

</table>
</body>
</html>

...全文
117 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tyro 2000-07-21
  • 打赏
  • 举报
回复
谢谢!
这是一个用于网站监控的程序,对于服务器管理员来说,24小时监控服务器是否正常是很烦人的时。有了这个程序,一切都简单了。 本软件是一个运行于Win2000服务器上的HTTP监控程序,可以实时监控服务的运行状态,一但HTTP服务发生错误,可以自动重起服务器、重起IIS、或是通过请求指定的页面通知管理员。 本程序很小,完全不会影响到服务器的性能。 使用说明:将 HttpMon.exe 复制到硬盘上,并将其添加到Windows的任务计划,设置为"计算机启动时运行",以administrator 的权限运行。 主要功能: 一.定时功能: 可指定每隔几天重启一次计算机或是重启IIS。 若是指定为0天时表示每天重启一次。 二.Http监控: 1.运行HttpMon.exe 点击"添加"按钮添加监控条件。 a)在"检查链接"里加上用来监控的页面 如 http://XXX/state.asp 在state.asp加随意加上一个简单代码,如<%response.write "OK"%> 这样可以检查IIS是否死掉 若要检查链接数据库是否正常还可以把代码写为: <% set db=CreateObject("ADODB.Connection") db.open 数据库链接 db.close %> b)在"检查频率"可以指定多长时间检查一次,默认是20分钟 c)在返回信息选择要检查的条件,有几种情况: 返回状态等于,返回状态值不等于,文件大小等于,小于,大于。 "返回状态值" 指IIS返回的客户端时的状态。 200 是正常 302 文件重定向 404 文件不到 500 服务器内部错误 . . . 默认是:当返回状态不等于200时(表示IIS出错时)重起IIS 当上面情况出现时可做几个对应处理: a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面发信给管理员。 2.因为有时重启IIS不一定成功,所以当上面错误情况出现时,程序会自动缩短检查的隔时间,默认为5分钟。也可以自定义。 当上面操作多次重试都不成功时,还可以设置对应的操作。例如:当重启了3次IIS后还是有错误,这时可以在后面设置为重启计算机 3.关于日志功能:日志功能可以记录Http监控程序的工作情况,他可以记录什么时候检查过什么页面,什么时候出现了错误,对应操作是什么。
HTTP 监控程序使用说明(本程序只能用于Win2000/XP,不能用于NT4) 将 HttpMon.exe 复制到硬盘上,并将其添加到Windows的任务计划,设置为"计算机启动时运行",以administrator 的权限运行。 功能一 定时功能 ------------------------------------------------------------ 可指定每隔几天重启一次计算机或是重启IIS。 若是指定为0天时表示每天重启一次。 功能二 http监控 ------------------------------------------------------------ 1.运行HttpMon.exe 点击"添加"按钮添加监控条件。 a)在"检查链接"里加上用来监控的页面 如 http://music.km169.net/state.asp 在state.asp加随意加上一个简单代码,如<%response.write "OK"%> 这样可以检查IIS是否死掉 若要检查链接数据库是否正常还可以把代码写为: <% set db=CreateObject("ADODB.Connection") db.open 数据库链接 db.close %> b)在"检查频率"可以指定多长时间检查一次,默认是20分钟 c)在返回信息选择要检查的条件,有几种情况: 返回状态等于,返回状态值不等于,文件大小等于,小于,大于。 "返回状态值" 指IIS返回的客户端时的状态。 200 是正常 302 文件重定向 404 文件不到 500 服务器内部错误 . . . 默认是:当返回状态不等于200时(表示IIS出错时)重起IIS 当上面情况出现时可做几个对应处理: a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面 (http://data.km169.net/sendmail.asp)发信给管理员。 2.因为有时重启IIS不一定成功,所以当上面错误情况出现时,程序会自动缩短检查的隔时间,默认为5分钟。也可以自定义。 当上面操作多次重试都不成功时,还可以设置对应的操作。例如:当重启了3次IIS后还是有错误,这时可以在后面设置为重启计算机 3.关于日志功能 日志功能可以记录Http监控程序的工作情况,他可以记录什么时候检查过什么页面,什么时候出现了错误,对应操作是什么。
【新人注意:下载后评价,CSDN会把下载分还给你!切记!不放心的请看完下面:】 ==================== 我晕死,声明几点: 1.我对骂人的人十分无奈也无语,素质低就不要出来丢人了; 2.资源是我觉得好才放上来跟大家分享的,简易便携,平时带到机房或者测试都很方便,这个完整纯净的版本现在网上已经不好了,要么就是广告捆绑什么的一堆; 3.至于下载分,只要你评论了,不仅退还所有分还多送1分,CSDN的老规矩,怕什么。我也要下资源,赚点积分而已; 4.病毒的问题已经解释过很多遍了(见简介),信不信装不装凭自己判断,请少数人注意文明,低碳生活,谢谢大家; 5.没用过的可以先看评论~多翻几页,相信你会到答案。诚请先试用后评价,祝您使用愉快,谢谢! ======================================== 关于有人说资源是“盗取来的”:哦,好吧,我被你打败了。你真的很逗,事实上你可以联系原作者,让他亲自发送到你邮箱。 我先声明这个的确不是我写的程序,是网上收集来的,拿来给大家分享。CSDN上的资源很多都是转载分享的,如果还是不放心大家尽可以自己上网,名字见标题上的几个都可以,别打错。很好的软件,很多软件站都有搜藏,但是我下过发现很多不完整或者有垃圾广告插件乱七八糟的。 关于报毒的问题:这个没有办法,因为不是正常的网站访问程序,没有安装认证的安全策略,觉得心里别扭的只能安装IIS、阿帕奇之类的大玩意了,我是不喜欢配置太麻烦才用的这个,简单无需配置。但是个人保证:安全无毒!而且无垃圾。本人已经使用三年了~杀软也就在安装时报个警,安装好再开杀软好了,就没事了。敬请放心使用! 本人一向凭着谨慎的态度上传资源,如有担心,您可以在下载先使用后再评论,出了问题再差评就是!别误导别人。 详细的介绍还看简介,祝您使用愉快,谢谢! ============================================================ 【简介】 小旋风ASP服务器,适合学习ASP的时候用。帮你构建asp网页服务器,希望能给你帮助。 因为很多人都是装的Windows XP HOME版的操作系统(囧,我的XP_Pro_SP3装IIS出错,包括505、501错误一大堆,com密码什么的网上讲的头头是道,可是怎么试都出错,难道真是RP - -),不能装IIS(会报这样那样的错误),这个正好派上用场,做好网页后再复制到IIS服务器上就可以运行了。具体使用方法简单,里面附有说明文档! 小旋风ASPWeb2005服务器是在NETBOX核心下开发的一套简洁(只有1M多点)强大(完全支持ACCESS,SQL数据库)的ASPWEB服务器,使用这个软件的您完全可以抛弃体积庞大的WINNT,WIN2000服务器系统及漏洞百出的IIS了。现在你可以在任何一个系统上调试和发布您的ASP程序了。目前测试通过的操作系统为:Windows 98;Windows 98 SE;Windows ME;Windows NT+IE4;Windows 2000Windows XP;Windows .NET Server。 注意:安装时有些杀毒软件会检测它有病毒,不过事实上并不是,安装的时候先把杀毒软件暂停一下,等装好后再打开。我一直用的,没有任何问题,请放心使用! ==================================================================================
HTTP 监控程序使用说明(本程序只能用于Win2000/XP,不能用于NT4) 将 HttpMon.exe 复制到硬盘上,并将其添加到Windows的任务计划,设置为"计算机启动时运行",以administrator 的权限运行。 功能一 定时功能 ------------------------------------------------------------ 可指定每隔几天重启一次计算机或是重启IIS。 若是指定为0天时表示每天重启一次。 功能二 http监控 ------------------------------------------------------------ 1.运行HttpMon.exe 点击"添加"按钮添加监控条件。 a)在"检查链接"里加上用来监控的页面 在state.asp加随意加上一个简单代码,如<%response.write "OK"%> 这样可以检查IIS是否死掉 若要检查链接数据库是否正常还可以把代码写为: <% set db=CreateObject("ADODB.Connection") db.open 数据库链接 db.close %> b)在"检查频率"可以指定多长时间检查一次,默认是20分钟 c)在返回信息选择要检查的条件,有几种情况: 返回状态等于,返回状态值不等于,文件大小等于,小于,大于。 "返回状态值" 指IIS返回的客户端时的状态。 200 是正常 302 文件重定向 404 文件不到 500 服务器内部错误 . . . 默认是:当返回状态不等于200时(表示IIS出错时)重起IIS 当上面情况出现时可做几个对应处理: a)重启计算机 b)重启IIS c)关闭计算机 d)请求页面 "请求页面"可用于扩展程序功能,如通过请求一个程序页面 发信给管理员。 2.因为有时重启IIS不一定成功,所以当上面错误情况出现时,程序会自动缩短检查的隔时间,默认为5分钟。也可以自定义。 当上面操作多次重试都不成功时,还可以设置对应的操作。例如:当重启了3次IIS后还是有错误,这时可以在后面设置为重启计算机 3.关于日志功能 日志功能可以记录Http监控程序的工作情况,他可以记录什么时候检查过什么页面,什么时候出现了错误,对应操作是什么。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧