delphi – 将TIDCookieManager中的Cookies保存到文件中
发布时间:2020-12-15 09:25:36 所属栏目:大数据 来源:网络整理
导读:如何将TIdCookieManager中的cookie保存到文件中以便以后使用?喜欢浏览器cookie. 解决方法 TIdCookieManager对于在文件中保留cookie数据没有任何本机支持.你必须手动实现它.使用TIdCookieManager.CookieCollection属性可以访问cookie对象列表.例如: uses ..
如何将TIdCookieManager中的cookie保存到文件中以便以后使用?喜欢浏览器cookie.
解决方法
TIdCookieManager对于在文件中保留cookie数据没有任何本机支持.你必须手动实现它.使用TIdCookieManager.CookieCollection属性可以访问cookie对象列表.例如:
uses ...,IdCookie,IdCookieManager; var Cookies: TIdCookieList; Cookie: TIdCookie; I: Integer; begin Cookies := IdCookieManager.CookieCollection.LockCookieList(caRead); try for I := 0 to Cookies.Count-1 do begin Cookie := Cookies[I]; // save Cookie properties as needed... end; finally IdCookieManager.CookieCollection.UnlockCookieList(caRead); end; end; . uses ...,IdCookieManager; var Cookies: TIdCookies; Cookie: TIdCookie; begin Cookies := IdCookieManager.CookieCollection.LockCookieList(caReadWrite); try for (each saved cookie) do begin Cookie := IdCookieManager.CookieCollection.Add; try // read Cookie properties as needed... Cookies.Add(Cookie); except Cookie.Free; raise; end; end; finally IdCookieManager.CookieCollection.UnlockCookieList(caReadWrite); end; end; 或者: uses ...,IdCookieManager; var Cookies: TIdCookieList; Cookie: TIdCookie; I: Integer; S: string; begin Cookies := IdCookieManager.CookieCollection.LockCookieList(caRead); try for I := 0 to Cookies.Count-1 do begin Cookie := Cookies[I]; S := Cookie.ServerCookie; // save S as needed... end; finally IdCookieManager.CookieCollection.UnlockCookieList(caRead); end; end; . uses ...,IdCookieManager,IdURI; var S: string; Cookies: TIdCookies; Cookie: TIdCookie; Uri: TIdURI; begin Cookies := IdCookieManager.CookieCollection.LockCookieList(caReadWrite); try for (each saved cookie) do begin // read S as needed S := ...; Uri := TIdURI.Create(URL where cookie came from); try Cookie := IdCookieManager.CookieCollection.Add; try Cookie.ParseServerCookie(S,Uri); Cookies.Add(Cookie); except Cookie.Free; raise; end; finally Uri.Free; end; finally IdCookieManager.CookieCollection.UnlockCookieList(caReadWrite); end; end; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |