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

Cookie的建立使用-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
Cookie的建立使用-Delphi资料

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调试通过)

RECT在Delphi中的灵活使用 StringGrid制作只读列-Delphi资料 TADOQuery下主明细表其属性关系如何设置,如何保存主表和明细表?-Delphi资料 TBatchMove用法-Delphi资料 TMemo的真正插入字符-Delphi资料 TREEVIEW的使用-Delphi资料 TreeView在电信综合统计管理系统中的应用-Delphi资料 VB6.0动态加载ActiveX控件漫谈-Delphi资料 捕捉来自 Thread 的异常-Delphi资料 定制Speedbar-Delphi资料 动态产生构件并相应事件-Delphi资料 对Borland可视部件的一处改进-Delphi资料 控件使用技巧-Delphi资料 改变VCL的行为--一个使用可视化元件的实例-Delphi资料 具有不同字体的列表框-Delphi资料 快速大量地更改控件内容-Delphi资料 快速动态创建MenuItem-Delphi资料 利用Delphi 5中调用Excel 97 利用Delphi的Tbitmap控件抓取屏幕图象 利用delphi美化你的菜单 面向组件的系统开发方法-Delphi资料 强大的树型编程控件TeeTree1.01-Delphi资料 确定MEMO控件中的当前行和列-Delphi资料 让字体左、右对齐-Delphi资料 如何给TListBox加上水平的滚动条?-Delphi资料 如何快速选择一个组件的父亲-Delphi资料 如何用Delphi编写自己的可视化控件 如何用VB创建控件-Delphi资料 生成程序组和项-Delphi资料 实现超级链接-Delphi资料 实战Delphi数据网格色彩特效 sql server截取字符串的函数。 关于InstalShield的两个非常简单的问题! 这般问题,应该如何? 如何学好VC? vc在应用层上 和delphi 区别在哪里? 以下程序中,若输入12345,ABC,则输出的结果是什么 请问大师门,我引用数据库为什么不行呀? ----在线程里的SOCKET为什么关不掉 请问如何有破解excel2000文件密码的工具或方法吗?300分酬谢,急等.谢谢! 在SQL*PLUS下怎样查看一个字段的属性,如是否为主关键字。 帮小弟一把,我仅有的36分了,各位 在vc中如何将字符串转化成其对应的ascii码?用什么函数? 天啊!!怎么办啊,救命啊 内存分配的一个小问题 无聊,散分。只给前面十个。 用image控件可以互相转换ico,bmp,jpg三种格式的图片吗? 请问哪有NGWS下载? ?有没有啊 以下程序的输出值是 哪位朋友知晓如果Table与DbGrid绑定后,如何实现非第一索引的排序。 请问MSDN有中文版的吗?我们这的全是英文版的 我的 Win2000 出大问题了,急盼各位大虾赐教 请问那里有VB.NET软件下载呀 什么delphi命令可以打开网页呢? 到底有没有人知道如何可以在panel中动态的调用frame或者是form呢? 哪里有windowsXP下载? 送我能给的最大分,请教很小的问题,中高手进 聊天请进(thinkingdog) 大家来谈谈 IBM都有些什么认证???什么认证现在比较吃香???谢谢!!! 打印数窗问题求助! 如何使用UrlDownloadtoFile下载文件使用进度条? 如何用在两次用getTime()中得到两个不同的时间。 一个类似于牛角尖的问题(多余的CONST),不能忽视,请各位高手详细说明!!谢谢! 怎样读写注册表,每次都不成功,气死我也~! 各位救命啊,用 TClientDataSet.Load XML 的问题。。。。 娃呀呀,pb8怎么这么难安装?jaguar组建就用了5分钟,regester window又用了10分钟,重启动后,还没完,偶不敢装了,把碟退了出来,大家是不是也这样?//牛虻 请教高手一个ado的问题. 请问一个TWebBrowser的问题 请问:系统崩溃后,找不到BOOT,系统告诉:DOS基本分区为格式化?无法引导启动! 在VB.NET的tabcontrol上放置AxMSFlexGrid控件问题,急 java3D 现在大家是用Oracle 8还是 Oracle 9??? C++问题求助! 请教一个错误的原因. 各位大侠请问Jeffrey Richter的windows核心程序设计是不是就是andvanced windows程序设计的第四版 SCJP里的那些什么300-020,020是什么意思啊? 请问一个关于document.write()方法的问题。急啊! 初学者,欢迎灌水。 Delphi6的Bug?不兼容? 为什么我用GetProfileString()却总是得不到结果 sos 请教各位大侠一个问题 班主任黄老师到超市买了2把拖把和5把扫帚,共付66元,已知一把拖把的价钱是3把扫帚的价格,问一把拖把和一把扫帚各多少元 生料带的配方可以加入些什么填充料吗?生料带的配方中可以加入些什么填充料来提高质量吗?有没什么填充料降低成本呀? 气温略高于0°C,有风的时候晒在室外的湿衣服会结冰吗 为什么巫婆要骑扫帚而不是拖把?如题! 内衣泡在干净的水里,容易滋生细菌吗 在寒冷的阴天,气温未达到0摄氏度,但晾在室外的湿衣服会结冰,什么原因?工程热力学 扫帚是拖把的2倍,扫帚每班分5把,少8把,拖把每班2把,多6把,买来扫帚拖把各几把? 内衣泡在水里不洗会不会滋生细菌 正常铁路轨道寿命多少年 巫婆骑的是扫帚还是拖把靠!我只是问问,骑的是什么!怎么把弗洛伊德都搞出来啦! 我住宿舍内衣洗干净就放在床铺上怎样可以减少细菌的滋生 铁路轨道衡是什么作用 连接天燃气管道和水管管道用的生料带是一样的吗 苹果切开后为什么会变黑? HIV在空气中能存活多长时间?请问HIV在空气中到底能存活多长时间?好像听人说也就几个小时,有点疑虑的是,既然离开人体后马上会死亡,那为什么输带有HIV血的血浆时会感染HIV(因为血浆中的血 液体生料带管子上带油有事没 关于铝和另一不活泼的金属电极(电解质NaOH溶液)构成的原电池的方程式另一不活泼的电极随便假设,请写出不同假设下的两极的电极反应方程式(把总反应方程也写出来更好) 艾滋病在空气中能存活多久并且伴随着春天的阳光和春天的温度 切开的苹果放在空气中为什么会变黄? 镁与铝作电极氢氧化钠溶液作电解质的原电池反应,为什么镁会先参加反应呢,在铝上有气泡产生 HIV 暴露在空气中的存活时间是多少? 为什么苹果切开后放置空气中切口处变成棕红色与接触到空气中的水分无关 我添过女人的内裤,我以为头里有细菌,就经常拿手狠狠的打头,现在头痛,请问是真的有细菌吗? 艾滋病病毒在空气中能存活多长时间,听说过因为修眉毛而得上艾滋病的,那么,他得在刀具上存在多长时间才能消失.这种感染艾滋病的机率有多大? 水管 生料带 怎么 铁路轨道结构包括哪几部分?最好有图 熔化吸热 凝固放热日常生活中有那些利用熔化吸热,凝固放热的例子?什么情况下熔化吸热,凝固放热会给我们带来不利影响?怎样避免? 市面上有脱脂生料带、有油生料带、无油生料带,它们有什么区别,都可以用来按装水管吗? 中国的土地很多都被农药污染了,很多指标会不合格,还有部分是转基因.国内外那个品牌大米可以安心吃?国内的那个地区是没有转基因的,也没有化学超标的?国外的大米那个品牌是真品?我很迷 用汽油擦除衣服上的污渍时,汽油很快跑掉了,这是什么物态变化,过程中是吸热还是放热 水管龙头软管安装使用生料带的问题家中的水管龙头淋浴软管那些在安装的时候需要用生料带那些不用?是不是里面带有橡胶垫圈的就不需要生料带了?生料带使用的时候一般需要缠绕多少圈? 冬天,结冰的 湿衣服也能晾乾,其中发生的物态变化是? 请问中国男性的阴茎的长度和直径标准? 测量成品窗帘下垂长度的计算方式? 冬天潮湿的衣服一层结冰的过程中的物态变化是什么? 甲乙两人在铁路轨道旁背向而行,速度都是每秒1米,一列火车匀速地向甲迎面驰来,列车在甲旁开过用了16秒,而在乙身旁开过用18秒,问这列火车多长? 如何进行窗帘丈量,如何测量窗帘 原电池中,电解质溶液对电极的影响.为什么在氢氧化钠溶液中,镁当正极,铝当负极呢 下午的影子最长还是上午的影子最长 窗帘测量怎么测量啊? 构成原电池的时两个电极一定至少有一个和电解质反映吗镁和铝在氢氧化钠电解质中谁是负极啊 为什么?小生愚笨 请清楚说明 如果是 那铁和铜在氢氧化钠做电解质的情况下能构成原电池吗? 在早上、中午、下午哪个时间你的影子最长? 内裤湿着放会滋生细菌吗 铝与镁形成原电池电解质溶液为氢氧化钠,请把负极的反应式写出来? 为什么早上影子最长? 我添过女人的内裤,我以为头里有细菌,就经常拿手狠狠的打头,现在头痛,请问是真的有细菌吗?..我添过女人的内裤,我以为头里有细菌,就经常拿手狠狠的打头,现在头痛,请问是真的有细菌吗? 铁路轨道加强设备有哪些? 我有急用 由镁、铝、氢氧化钠溶液组成的原电池,负极和正极反应式分别是? 女性内裤细菌多 它的寿命是多久呢 空气中的细菌与什么有关细菌必须从外结摄取有机物获得营养.下表为不同地区的细菌分布数场所 空气中的细菌数(个/米3)畜舍 100万-200万宿舍 2000城市街道 5000市区公园 200海洋上空 1-2北极 那什么物态变化,要吸热放热的,应该怎么记?我老是记不住,求学习方法 日全食是光的什么产生的现象? 日全食是如何发生的 中国的哪些省都与外国相连?分别与哪些国家相连? 日全食现象是怎样发生的? 为什么家里的苹果切开之后变黑了?不是 就是切开放了一会就变黑了呢 中国为什么要与其他国家(外国)合作? 扫把 拖把 属于什么行业 生料带对封水、气、油的成份有什么要求? 镁—铝—氢氧化钠 ,构成的原电池中,为什么负极是铝?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn