win2k下写的CGI在IIS4下不能运行??!!(100分)

  • 主题发起人 主题发起人 小毛毛
  • 开始时间 开始时间

小毛毛

Unregistered / Unconfirmed
GUEST, unregistred user!
最近发现一个奇怪的现象:我在win2k下写的CGI程序在IIS4下面突然不能运行了!
而我记得以前是可以的呀!

为简单起见,写一个最简单的CGI程序:
添加一个WebActionItem,内容为:response.content:='ok';

在win2k自己的IIS5下面运行正常,可是在IIS4下面出错:
<b>
CGI 错误
指定的 CGI 应用程序因为没有返回完整的 HTTP 标题而运行不正常。它返回的标题是:
</b>

还有更奇怪的,将同样代码拿到win9x下面编译之后,却可以在IIS4下面正常运行!

win2k的问题?IIS4的问题?delphi的问题?还是。。。。我的问题??

由谁遇到过类似情况?帮帮忙吧大哥们!!

 
还有,奇怪的是,同样在win2k下面,如果我写一个console application,里面
简单地写:

begin
writeln;
writeln;
writeln('ok');
end.

这样的CGI却可以在IIS4下面正常执行!如果去掉前面的2个空行就会出现同样的错误:
CGI 错误
指定的 CGI 应用程序因为没有返回完整的 HTTP 标题而运行不正常。它返回的标题是:

帮帮忙呀!
 
HTTP协议要求在Content之前给出HTTP Header,提供诸如Content-type, Cookie,
Authentication之类的域,你一定是在程序里没有给出;IIS5自己给你加上了,而IIS4
没有加,导致Header缺失。
 
delphi不是会自己给加上的吗?难道这样:
response.content:='ok';
的时候,delphi不是会为我自动加上的吗?

我写CGI程序1年半了,从来没加过什么Header,都是直接response.content:='...';
实在搞不清除怎么现在突然不行了。
 
我也想知道关于Header方面的意见!
 
接受答案了.
 
后退
顶部