【发布时间】:2020-01-19 02:23:27
【问题描述】:
我在 Delphi 7 中使用 Indy 10。 我在主窗体中有一个 TidCookieManager,我希望将它的 cookie 复制到另一个线程中的另一个 cookie 管理器,这个线程显然可以访问主窗体。
如何复制这些 cookie?
谢谢,
大卫
【问题讨论】:
-
首先看一下 TIdCookieManager 的 CookieCollection 和 CopyCookie()。在同步块中运行代码。查看Save Cookies inside TIDCookieManager to file 的答案,获取有关通过 cookie 进行交互的帮助。
-
"在同步块中运行代码" - 这是不必要的,因为
CookieCollection使用线程锁(特别是TMultiReadExclusiveWriteSynchronizer)。在迭代+复制时锁定源和目标CookieCollections 将提供足够的同步。此外,您无需手动迭代+复制各个 cookie,因为CookieCollection具有Assign()和AddCookies()方法来为您处理该操作。
标签: delphi indy cookiemanager