关于用DELPHI编CGI程序的问题(50分)

  • 主题发起人 主题发起人 Action
  • 开始时间 开始时间
A

Action

Unregistered / Unconfirmed
GUEST, unregistred user!
在下有一初级问题想请教各位高手:为什么我用DELPHI4.0编写的WIN CGI程序时,总会在生成的HTML中不同的位置出现"Status: 200 OK Content-Type: text/html"这样的代码呢???
 
用这样的格式试试:
program ...;
{$apptype console}
uses ...;
begin
writeln('content-type: text/html');
...
end.
 
writeln('content-type: text/html');
该句后还应有两行回车呢!即:
Writeln;Writeln;
 
?Action的问题是自己不想要这样的输出,但是却不知从什么地方被系统插入的,
好像和二位的情况不同吧?
 
,非常感谢大家的热心帮忙,pegasus 说对了,是我自己本来没有写"Status: 200 OK Content-Type: text/html"这样的代码,但通过程序后,生成的HTML就会出现这样的代码,而且位置不定?但这是什么原因造成的呢?????(我的程序本身没有错,我是先在FRONTPAGE下写好HTML后,改成writeln('....');这样输出的)
 
Jams:不对不对,后面只要加一个writeln;就够了
Action:你加了{$apptype console}编译开关了吗?
 
小天,我加了那个开关的!我的程序如下:
unit Respones;
interface
uses
Windows, Messages, SysUtils, Classes, HTTPApp, Psock, NMpop3;
type
TWebModule1 = class(TWebModule)
NMPOP31: TNMPOP3;
procedure WebModule1ResponseAction(Sender: TObject;
Request: TWebRequest;
Response: TWebResponse;
var Handled: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
WebModule1: TWebModule1;
implementation
{$R *.DFM}
procedure TWebModule1.WebModule1ResponseAction(Sender: TObject;
Request: TWebRequest;
Response: TWebResponse;
var Handled: Boolean);
begin
Writeln('<html>');
Writeln('<html><head><meta http-equiv="Content-Type" content="text/html;
charset=gb2312">');
Writeln('<meta http-equiv="Content-Language" content="zh-cn">');
Writeln('<title>用户反馈网页</title>');
writeln('<meta name="GENERATOR" content="Microsoft FrontPage 4.0">');
Writeln('<!--mstheme--><link rel="stylesheet" type="text/css" href="_themes/blueprnt/blue1011-106.css"><meta name="Microsoft Theme" content="blueprnt 1011, default">');
Writeln('<meta name="Microsoft Border" content="tlb, default"></head>');
Writeln('<body><!--msnavigation--><table border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td>');
Writeln('非常感谢您的反馈<br>');
Writeln('<a href=/index.htm>');
Writeln('返回首页</a>');
Writeln('</body></html>');
end;

end.

生成的HTML如下:
<html><head><meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<meta http-equiv="Content-Language" content="zh-cn">
<title>用户反馈网页</title>
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<!--mstheme--><link rel="stylesheet" type="text/css" href="_themes/blueprnt/blue1011-106.css"><meta name="Microsoft Theme" content="blueprnt 1011, default">
<meta name="Microsoft Border" content="tlb, default"></head>
<body><!--msnavigation--><table border="0" cellpadding="0" cStatus: 200 OK
Content-Type: text/html
Content:
ellspacing="0" width="100%"><tr><td>
非常感谢您的反馈<br>
<a href=/index.htm>
返回首页</a>
</body></html>

 
哦,其实你在程序的过程中只须用下列东东就可以了:
begin
Response.content:='<html><head><title></title></head><body>
<p></p><p></p><p></p><p></p><p></p><p></p>
<p>非常感谢您的反馈</p>
<p><a href="home.htm">返回首页</a></p>
</body></html>';
end;

你在程序中不要用回车.
 
多人接受答案了。
 
后退
顶部