delphi - 如何在 Indy 10 中复制 cookie
问题描述
我在 Delphi 7 中使用 Indy 10。我在主窗体中有一个 TidCookieManager,我希望将其 cookie 复制到另一个线程中的另一个 cookie 管理器,这个线程显然可以访问主窗体。
如何复制这些 cookie?
谢谢,
大卫
解决方案
TIdCookieManager
具有CookieCollection
类型的公共属性,TIdCookies
可提供对实际 cookie 的访问。一个人的 cookieTIdCookies
可以TIdCookies
通过其Assign()
orAddCookies()
方法直接复制到另一个人,例如:
// clears the dest collection before then copying cookies to it...
CookieMgrInWorkerThread.CookieCollection.Assign(CookieMgrInMainThread.CookieCollection);
// does not clear the dest collection before copying cookies to it...
CookieMgrInWorkerThread.CookieCollection.AddCookies(CookieMgrInMainThread.CookieCollection);
无论哪种方式,都是线程安全的,因为它在读/写操作期间TIdCookies
使用内部。TMultiReadExclusiveWriteSynchronizer
推荐阅读
- javascript - 为什么将 array.find 的结果分配给变量时我得到未定义?
- c# - 如何使用“esc”键退出所有表单?
- javascript - 开玩笑测试表的行和列
- react-native - 以全局状态存储数据
- html - 滚动条并拉伸到屏幕的高度
- spring-boot - 如何在 sprint 数据存储库中使用自定义 SQL?
- java - 为询问某些设备创建线程
- c# - 如何从 WPF 中的另一个 UserControl 绑定或引用 UserControl?
- javascript - 无法从样式化的 Textarea 获取文本
- python - tf.layers.batch_normalization(training=is_train) 已弃用,有什么替代方案?