想要得到300分请进(300分)

  • 主题发起人 主题发起人 ZhuXiaoTong
  • 开始时间 开始时间
Z

ZhuXiaoTong

Unregistered / Unconfirmed
GUEST, unregistred user!
我想设计一Web程序,使用Cookie传递客户端信息,
但总不成功,具体情况如下:

系统环境:
Windows NT Server 4.0独立服务器
IIS4.0 新建一虚拟目录WWW指向程序所在目录

建立一CGI程序,加入两个Action:Set和Disp,Path与名同
代码如下:

procedure TWebModule1.WebModule1SetAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
MyCook:TStringList;
begin
MyCook:=TStringList.Create ;
try
MyCook.Add('items1 = aaa');
MyCook.Add('items2 = bbb');
response.SetCookieField(MyCook,'Localhost','/',Now+1,False);
Response.content:='Set Ok';
finally
MyCook.free;
end;
end;

procedure TWebModule1.WebModule1DispAction(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
s:string;
i:integer;
begin
s:='<P>'+'All:'+Request.Cookie +'</p>'+#13 ;
s:=s+'<p>'+'Count:'+inttostr(Request.ContentFields.Count)+'</p>'+#13;
s:=s+'Detail:'+#13;
for i:=0 to Request.ContentFields.Count -1 do begin
s:=s+Request.CookieFields.Names+':'+Request.CookieFields.Values[Request.ContentFields.Names]+#13;
end;
Response.content:=s;

end;

编译生成NewCook.exe,在本机上测试:
浏览器上输入:http://localhost/www/NewCook.exe/Set
结果显示:Set Ok
输入:http://localhost/www/NewCook.exe/Disp取不到所写数据,只显示:

All:

Count:0

Detail:

请问是什么原因,是否与机器配置有关系?如果使用Session对象,该如何进行?
 
于是程序中设置Cookie的方法为:

Response.SetCustomHeader('Set-Cookie'

'Name=Value; expires=Sun

22 Feb 2099

08:08:08 GMT'); (注斜体用自己的名称代替,例如设置Count=10,则Name用Count代替,Value 用10代替),这样就可以建立Cookie了.

以下为建立一个访问计数器的程序,可以参照:

const

LastIp:String='0:0:0:0'; //避免重复计数

Var

S:String;

Count:Integer;

begin

S:=Request.CookieFields.Values['count'];

if S<>'' then begin

try

Count:=StrToInt(S);

Except

Count:=0;

End;

end else Count:=0;

if LastIp<>Request.RemoteAddr then Inc(Count);

LastIp:=Request.RemoteAddr;

Response.SetCustomHeader('Set-Cookie'

'count='+IntToStr(Count)+';

expires=Sun

21 Feb 2010

08:08:08 GMT');

Response.Content:='您是第'+IntToStr(Count)+'来到本页!';

End;


(以上程序用Win95B的个人Web服务器+Netscape Navigator 4.04调试通过)
 
关注。[:)]
 
著重关注:
Up
 
后退
顶部