说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

Delphi 3中Cookie的建立使用

HTML文档下载 WORD文档下载 PDF文档下载
Delphi 3中Cookie的建立使用

Cookies是一种Web服务器在客户端存储和返回信息的机制

这种简单的、永久的和基于客 户端的状态信息大大的扩充了基于Web的客户/服务器(Client/Server)应用程序的能力。 因此

广泛应用在大量的实际中,例如所有订阅Microsoft公司的MSDN的用户、访问过Borland

Online的用户,以及访问过我的主页(http://www.nease.net/~borland)的用户都会在本 地存储

Cookie,以便下次访问时提供上次访问的记录。

Delphi 3是Borland公司1997年推出的可视化、面向对象的高效率的快速应用程序开发 工

具(RAD),提供了大量的最新功能,例如开发COM/DCOM,一步开发ActiveX对象,多层

数据库应用程序MIDAS等,并且使用Delphi 3开发基于Web服务器的程序,如ISAPI/NSAPI

, Win-CGI,CGI程序都十分方便。

使用Delphi 3开发Web Server程序是非常简单,方便的,因为在Delphi中提供了Web Module、TWebApplication、TWebRequest、TWebResponse、TPageProducer等大量的对

象供使用.对于Cookie

Delphi3也提供了大量的程序供使用

如TWebResponse.Cookies, TWebResponse.SetCookieField,TWebRequest.Cookie,TWebRequest.CookieFields, TWebRequest.ExtractCookieFields等,应该是非常方便。但本人为了实现一功能需要设 置

Cookie,但是发现使用Delphi提供的SetCookieFields设置不成功,经研究Delphi 3所带 的

HttpApp.Pas和IsapiApp.Pas文件发现在中文Windows 95和NT环境下该程序有错误。

根据Netscape公司的规定

Cookie的格式应为:

Set-Cookie: Name=Value; expires=DATA; Path=PATH;

domain=DOMAIN_NAME; secure

而且根据规定

日期(DATA)的设置必须满足格式“Wdy

DD-Mon-YYYY HH:MM:SS GMT”

基于RFC822

RFC850

RFC1036和RFC1123等规定,但是检查HTTPAPP.PAS中的function

TCookie.GetHeaderValue: string中为FormatDateTime('"expires="' + DateFormat +

' "GMT; "'

Expires);

其中const DateFormat = 'ddd

dd mmm yyyy hh:mm:ss'

此程序在英文环境

中产生的格式是正确的

但是在中文中产生的结果却不对

因为星期和月份都将按照中文的表示方法: 如 将11月生产“十一月”中文串,这样在Netscape Navigator和Microsoft Internet

Explorer就不 能辨认了。

既然错误在于原VCL未考虑中文环境的问题,所以修改的方法有:1、修改VCL源程序,

编译后将dcu文件拷贝到Lib目录,这样会完全改正错误,这样是最根本的解决方法,但是 如果将源程序放在另一未修改的Delphi中(例如提供源程序给别人和自己重新安装)编译又将 出现问题。2、因为使用并不太多,所以可以将修改的程序放在自己的程序中,使用Delphi 3 提供的TWebResponse.SetCustomHeader设置

这样的好处是将程序放在自己的程序内,重新 装Delphi或在另一台计算机上编译的结果也会完全正确。因为Cookie的目的一般有两种,一 种是在此会话过程中使用,过后不使用,此时不需要Expires段,不会产生时间错误,可以使用Delphi 3提供的所有Cookie程序;另一种为永久保存,时间一般越长越好,于是可以将时间设置为2099年二月22日

于是程序中设置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调试通过)

修改屏保口令 -VB资料 修改屏幕保护的口令 -VB资料 旋转字体 -VB资料 延时函数-VB资料 一个关于乘法溢出问题的探讨 -VB资料 一组VB实用小程序 一组VB应用技巧 隐藏和显示任务栏-VB资料 应用 WSH 读写注册表和建立快捷方式 -VB资料 VB用 IIF 和 SWITCH 以精减代码 VB用BASIC语言设计Windows风格的用户接口 VB用Form 的 Mouse_Move事件来检查鼠标是否在窗口内: VB用RND()函数加密 VB用SendKeys来捉屏 用VB4.0制作软件封面 用VB5 对Windows 95 任务栏提示区进行编程 用VB5读写注册表实例 用VB5开发商品软件的经验谈 用VB5设计多功能计时器 用VB5制作文字上卷效果 用VB6.0实现打字效果 用VB编写DirectX7.0游戏(上) 用VB创建Excel报表 用VB读取和控制Windows的中文输入法 用VB将命令行软件Windows化 用VB进行移位操作 用VB开发CAI软件的小经验 用VB开发分布式应用 用VB切换三个特殊键 用VB生成EXE文件后,如何在后面加上参数?这个参数怎样传给VB 用VB实现动态显示操作进度程序 感觉压力比较大,活不下去,想跳楼自杀的进来侃侃 一个关于php提交表单的问题。 各位大侠,要命问题! 怎么在Installshield中创建对话框,并操作ACCESS数据库? win2000server的管理员密码让人改了,怎么办呀! 太气愤了,帮帮我? 用BDE连接MS SQL SERVER,为什么运行后出现未知用户名或密码的错误? datagrid中能不能进行统计 如何编写“outlook”风格的界面 如何实现flash截图?我研究了好久也不明白,希高手指点!(在线等待) 程序调用的DLL 在delphi中,用ADO如何实现将SQL中多表导出到一个Access中? 无聊啊无聊 想考软工???? Socket奇怪的问题! foxpro中如何实现按一按钮启动word和excel,并且直接弹出打开文件对话框? 关于分级权限管理(300分) 紧急求救!!!!!!!! 客户端web服务是否需要别的控件支持 帮帮我,朋友们请进.... Datareport问题! [cclq]竞选斑主,附我的方针! 用VB编写自己的服务器端组件 DAO问题,CDaoRecordset::addnew()和CDaoQueryDef::Execute插入一条记录,哪个更快? 谁能解释一下这个比较模糊的问题?关于地图窗口HWND。 闲人免进!如何增加信誉分! 如何改变Mem控件中插入符的形状? 各位大虾有没有检测日期的合法性的JAVASCRIPT脚本啊 怎么在Installshield中创建对话框,并操作ACCESS数据库? 两个问题,关于struts中form的action如何传递一个变量?如何使用科学计数变成普通数值? 救落水美女注意事项 如何学习NOTES? 急!!急!!给多分呀!!! 寻在windows下安装bugzilla时缺少的两个文件。 菜鸟问题。。。。。。需大师回答啊 怎样由实例句柄得到传口句柄? 请问,VB的DataReport是否有支持套打的功能? 有关ant和struts的问题,急。 有人用Panorama来做自动化测试吗? 请问各位,如何用PHP来实现这个功能啊! 关于列换顺序的问题 请教用户帐户在不同域间移动 ? 代理问题? weblogic81 和jbuilder怎么配置, 得到小数点后指定长度数据?? Sql语句怎么写? 一个关于框架的问题! ASP+是不是就是asp的新版本,怎么才能运行? 关于管理权限的设计办法(急) 在线等!很菜的问题! 多条件查询的问题!谢谢! 帮我翻译下英语句子1颜色对购买行为的影响.2什么颜色最吸引顾客.3绿色是广告中最流行拜托各位大神 17:30有几种译法? 若点p到A,B两点距离相等,则p为AB的中点, 家里怎样用84消毒 16岁适合染头下列哪种颜色,(皮肤很白) 求与夏沫匹配的词语 要求冬开头 格式:冬X 84消毒教室 潮湿的反义词语是什么 关于“靖郭君将城薛”的问题~靖郭君将城薛,客多以谏.靖郭君谓谒者无为客通.齐人有请者曰:“臣请三言而已矣!益一言,臣请烹.”靖郭君因见之.客趋而进曰:“海大鱼.”因反走.君曰:“客 为什么要灭菌 我们人类真的和外星人有关系吗? 齐人说靖郭君中“海大鱼”有何喻意 为什么要消毒 人类在未来二十年内将与智能外星人亲密接触!是真的?人类在未来的20年内真的能和外星人亲密接触吗? 的主旨是什么 急求! 绝缘漆的化学名叫什么 翻译::孟子的《墦间乞食》 磷虾油是什么做的? 请问电火花机工作是属于化学原理.还是物理原理.电火花机工作原理是属于化学原理.还是物理原理. 英语翻译孟子的文章 我们用湿手去拿冻冰室里的食物时,手马上会被粘住,这是由于-----引起的,如果用力拉会损伤皮肤,解决的方法是迅速将水放在水中使___而脱离 磷肥和钾肥的适用范围有哪些? 墦间乞食 磷虾油是虾青素吗? 写出下列字在不同句子中的反义词这道题目你回答得很正确(____)这里的情况一切正常( ) 正字的反义词我刚到这个城市,觉得一切都很生疏( )小红在楼下见到了一个生人 ( ) “生”字的反义词我 坚强的反义词是什么?艰难的反义词是什么? 如图,AC交BD于点O,AC=DB,AB=DC,求证:∠C=∠B 绝缘粉化学名怎样测试加热管内的绝缘粉质量. 一艘潜水艇在水中的高度是负六十五米,一条大鲨鱼在艇上方22米,这条大鲨鱼在的高度是多少米? 颜色状态:银白色固体硬度:较软密度:2.7克/立方厘米熔点:660.4度导电性:良好导热性:良好延展性:良好将该金属投入稀盐酸中,可产生大量的无色气体,是不是铝? 这首诗的题目谁知道?听说 它很美 开花时如火如荼 听说 它是黄昏路上的唯一风景 妖艳而悲伤 它,彼岸花,曼珠纱华 它是红 是刺眼的血红色 它是毒,亦是药 是接近安息途中的最后一场盛宴 叶 坚强反义词是什么 靖郭君将城薛 谁知道这首诗的题目啊?好雨知时节,当春乃发生.随风潜入夜,润物细无声.野径云俱黑,江船火独明.晓看红湿处,花重锦官城. 假设海平面的高度为0米,海边一座山的高度是572米,一条大鲨鱼在水下45米处游动,一搜潜艇在鲨鱼下方35米处航行.请你用合适的数分别表示高山、鲨鱼和潜水艇的高度 靖郭君将城薛字词解释 各位有谁知道这首诗的题目是什么啊?一定要对的!我知道这首诗是和《百鸟归巢图》配在一起的.全诗:作者:伦文叙归来一只复一只,三四五六七八只.凤凰何少雀何多,食尽人间千万石.我要写 描写苏联一搜潜艇下潜的越来越深,艇内压强吃不消了,连耳朵里都出血了,最后决定把生的希望留给一位医生的电影叫什么? 靖郭君将城薛原文中的“谏止三言”怎么理解,“靖郭亦纳谏,乃辍城薛”反映了什么问题?靖郭君将城薛①,客多以谏.靖郭君谓谒者:“无为客通”②.齐人有请者曰:“臣请三言而已矣③!益一 求这道题的收敛域, 写反义词:依赖-____;舒适-____. (浅沫)的反义词是什么 求收敛域 自在的反义词 泡沫的近反义词泡沫(是名词)的近反义词是什么?(要名词) 越多越好 求12题收敛域 如图,三角形是以AD所在的直线为对称轴的图形,∠BAD=22°,求∠ABC、∠CAD的度数 靖郭君将城薛与邹忌讽齐王纳谏有什么不同 欲速则不达的深刻含义对欲速则不达的一些见解欲速则不达这句话的由来有关欲速则不达的作文该怎么写 这真是一场惊心动魄的拼搏作者为什么会发出这样的感慨?音乐第三次奏响了!场子里静的没有一丝声息.有一些女观众,索性用手捂住了眼睛.这真是一场惊心动魄的拼搏!当那摞碗剧烈地晃动起 焦虑的反义词是什么可怜的反义词 章鱼是鱼类吗? 意志倒下的时候生命也就不再屹立歪歪斜斜的身影又怎耐得秋风萧瑟 晚来凤急垂下头颅只是为了让思想扬起你若有一个不屈的灵魂脚下,就会有一片坚实的土地无论走到何方都会有无数双眼 繁荣的近义词是什么 繁荣的反义词、同义词 影响水果中Vc的有什么因素我们是在探究水果中的维生素C的多少,请至少给出3个因素~ 无线发射的功率如何计算比如有些VCD里带射频的那种模块,是怎样计算发射功率的?请帮我算算:9V电压,电流60mA,功率多少? 风声雨声读书声,声声入耳.的下句是什么 ph计读数下降我在测定一个溶液的PH值时,开始示数是1.30,可后来就每隔大约30s往下降一次,每次降0.01,现在都0.99了,为什么pH计平衡时间这么长啊? X 放射线怎么样 A点和B点有4条线连接,分别长17.15.26.22厘米其中只有一条线段,问AB两点的距离有 第二届世界浙商大会青田分会举行 共谋重读佛教经典 中国40位法师聚浙江杭侨乡青田将建进口商品贸易中心 搭建华部分赣南脐橙检出苏丹红 催熟染色成“江苏沛县官方回应办公楼超标:领导带头杰克逊私人医生穆雷提前出狱 歌迷不满湖南宁乡一村支书儿子结婚摆70桌 否学英语,寰球热度不减时尚盛宴:地铁变身麻豆T台秀场【高清美专家:美国悄悄丧失对华创新优势首届海内外青田人书画作品展开幕苹果公司第四财季销售增加利润下滑 手波兰发现低成本生产最薄最坚硬纳米材料伊朗和国际机构就伊核问题对话 外界期美参议院情报委员会主席:白宫将停止监美国白宫:美国同意对搜集情报方式加强飓风桑迪周年前夕 美联邦政府再拨50美国监听风波陷两难 白宫急灭火共和党“叙利亚电子军”称其控制奥巴马社交网卢旺达等四国成立单一关税区推动贸易发白宫网页万人请愿辱华节目被删除结婚两年一直没避孕,不怀孕怎么回事?玩微信就赚钱?光和城给你支招四川人的长寿秘诀局长与下属打架为了男人的面子还是权力中国 东盟海事磋商机制第十次会议在天学员开教练车肇事保险公司被判赔1.7千米路中间开沟 半边变成停车场小伙楼道抢包 逃跑时被菜贩绊倒男子臆想前妻雇人杀他劫持房东儿子和自美食大讲堂周四开课 白萝卜如何变身燕我省部分校年轻教师少 学科缺编免费电工培训22日开课仅剩10个名额抓紧排查维修确保及时供热本周六来晨报超低价买纯皮女鞋 绝对靠“女人帮”免费美发本周最后两次抓紧报遇楼道抢包喊“抓小偷路过的、卖菜的都于洪公路管理处:缺养护费用无房外地人在沈公积金买房算首套新长客总站月底竣工验收买假表为提醒他人别上当省钱安全便捷移民澳洲25万澳元加盟地
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘