IE Cookie文件格式说明_.docx

上传人:PIYPING 文档编号:11633271 上传时间:2021-08-27 格式:DOCX 页数:5 大小:12.62KB
返回 下载 相关 举报
IE Cookie文件格式说明_.docx_第1页
第1页 / 共5页
IE Cookie文件格式说明_.docx_第2页
第2页 / 共5页
IE Cookie文件格式说明_.docx_第3页
第3页 / 共5页
IE Cookie文件格式说明_.docx_第4页
第4页 / 共5页
IE Cookie文件格式说明_.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《IE Cookie文件格式说明_.docx》由会员分享,可在线阅读,更多相关《IE Cookie文件格式说明_.docx(5页珍藏版)》请在三一文库上搜索。

1、IE Cookie文件格式说明_ IE 的 Cookie 文件保存在 ?:Documents and SettingsuserCookies 名目,后缀为.txt 可以挺直用法 API SHGetFolderPath 取得 Cookie 文件的保存名目 不过我没发觉 Delphi2021 有这个 API 的声明,所以自己声明白一下 代码如下(发觉代码高亮支持 Pascal 了,呵呵) GetCookieFolder 代码如下: function SHGetFolderPath(hwndOwner: HWND; nFolder: Integer; hToken: HWND; dwFlags: W

2、ord; pszPath: PChar): Boolean; stdcall; external shell32 name SHGetFolderPathA; function GetCookieFolder: string; var P: array0.MAX_PATH of Char; begin SHGetFolderPath(0, CSIDL_COOKIES, 0, 0, P0); Result := IncludeTrailingBackslash(P); end; 留意 shell32 常量定义在 ShellAPI.pas 里,CSIDL_COOKIES 定义在 ShlObj.pa

3、s 里,记得引用 枚举 Cookie 文件 GetCookieFiles 代码如下: procedure GetCookieFiles(APath: string; AList:TStrings); var Sr: TSearchRec; begin if FindFirst(APath + *.txt, faArchive, Sr) = 0 then begin repeat if Sr.Name1 = . then Continue; AList.Add(Sr.Name); until FindNext(Sr) 0; FindClose(Sr); end; end; 下面才是重点,Cook

4、ie 文件的格式,呵呵 Cookie 文件只是个纯粹的文本文件,以换行符(ASCII=10)为分隔符 可以用法 TStringList 读取,会自动分行的 格式如下 a_cookie .123 my.demo.site * 其中 第1行为 Cookie 名称 第2行是 Cookie 的值 第3行是 Cookie 所属站点的地址 第4行是个标记值(注:精准来说应当是表示该Cookie是否被加密) 第5行为超时时间的低位(Cardinal/DWORD) 第6行为超时时间的高位 第7行为创建时间的低位 第8行为创建时间的高位 第9行固定为 * ,表示一节的结束 需要留意的是这里用法的时间并非 Del

5、phi 的 TDateTime,而是 FILETIME(D里为对应的TFileTime) 一个文件可能包含有多个节,按上面的格式循环即可 下面的代码将上述时间转换为 D 里的 TDateTime ConvertToDateTime function FileTimeToDateTime(FT: TFileTime): TDateTime; inline; var ST: TSystemTime; begin FileTimeToLocalFileTime(FT, FT); FileTimeToSystemTime(FT, ST); Result := SystemTimeToDateTime(ST); end; function ConvertToDateTime(L, H: Cardinal): TDateTime; var FT: TFileTime; begin FT.dwLowDateTime := L; FT.dwHighDateTime := H; Result := FileTimeToDateTime(FT); end; 怎么样,的确很简洁吧?呵呵 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1