CGI程序没有返回完全的HTTP页眉
编号:QA000250
建立日期: 1998年12月24日 最后修改日期:1998年12月24日
所属类别:
Young:
我在NT上装了iis3,perl for win32。当我执行一个.pl程序时,浏览器显示出这样的错误:
"CGI错误指定的 CGI 没有返回完全的 HTTP 页眉。它返回的页眉是:
**对不起,名字不能空着。
Please repost the name section of the guestbook.
Return to the Guest Book.**"
**号之间是这个.pl程序应该反馈的正确内容。
而我在NT的dos窗口下能正确地执行这个.pl程序。反馈的内容是:
<html><HEAD><TITLE>Missing Name</TITLE></HEAD><BODY>
<FONT SIZE=5 COLOR=#996633><B>对不起,名字不能空着。</B></FONT>
<BR><BR>Please repost the name section of the guestbook.<P>
Return to the <a href="/samples/book.htm">Guest Book</a>.
</BODY></html>
看来是个正确的html文件。是不是IIS没有看到我这个.pl文件的执行结果呢?您能帮我解释吗?
回答:
在你的Perl程序输出之前加上这样一句:
print "Content-type: text/html\n\n";
这句话告诉IIS和浏览器,其后的内容是一个HTML文件。如果没有这句, IIS(也包括一些浏览器)往往不能正确处理CGI程序的输出内容。当然如果输出的不是一个HTML文件,而是其他类型的内容,要根据HTTP的定义进行相应的修改。
此问题由李海回答。
| |
|
|
| |
|
|