IE Cookie文件格式说明
来源: 阅读:863 次 日期:2014-08-11 17:33:23
温馨提示: 小编为您整理了“IE Cookie文件格式说明”,方便广大网友查阅!

IE 的 Cookie 文件保存在 ?:\Documents and Settings\\Cookies 目录,后缀为.txt

可以直接使用 API SHGetFolderPath 取得 Cookie 文件的保存目录

不过我没发现 Delphi2007 有这个 API 的声明,所以自己声明了一下

代码如下(发现代码高亮支持 Pascal 了,呵呵)

GetCookieFolder

代码如下:

function SHGetFolderPath(hwndOwner: HWND; nFolder: Integer; hToken: HWND;

dwFlags: Word; pszPath: PChar): Boolean; stdcall; external shell32 name 'SHGetFolderPathA';

function GetCookieFolder: string;

var

P: array[0..MAX_PATH] of Char;

begin

SHGetFolderPath(0, CSIDL_COOKIES, 0, 0, @P[0]);

Result := IncludeTrailingBackslash(P);

end;

注意 shell32 常量定义在 ShellAPI.pas 里,CSIDL_COOKIES 定义在 ShlObj.pas 里,记得引用

枚举 Cookie 文件

GetCookieFiles

代码如下:

procedure GetCookieFiles(APath: string; AList:TStrings);

var

Sr: TSearchRec;

begin

if FindFirst(APath + '*.txt', faArchive, Sr) = 0 then

begin

repeat

if Sr.Name[1] = '.' then Continue;

AList.Add(Sr.Name);

until FindNext(Sr) <> 0;

FindClose(Sr);

end;

end;

下面才是重点,Cookie 文件的格式,呵呵

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行固定为 * ,表示一节的结束

需要注意的是这里使用的时间并非 Delphi 的 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;

怎么样,确实很简单吧?呵呵

更多信息请查看 网络编程
手机网站地址: IE Cookie文件格式说明
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们| 联系我们| 人才招聘| 网站声明| 网站帮助| 非正式的简要咨询| 简要咨询须知| 加入群交流| 手机站点| 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00) 版权所有:
云南网警报警专用图标
Baidu
map