Delphi 如何使用TIdCookieManager在不同位置保存webbrowser cookie

Delphi 如何使用TIdCookieManager在不同位置保存webbrowser cookie,delphi,cookies,Delphi,Cookies,我想加载多个yahoo邮件, 示例我在delphi中有多个选项卡, 第一个标签加载yahoo.com, 第二个选项卡也加载yahoo.com, 但是,当delphi Twebbrowser加载相同的url时,它们将加载相同的cookie, 因此,第二个选项卡也会加载相同的第一个选项卡电子邮件地址。 如何将第一个选项卡的cookie保存在c:\tab1中,如何将第二个选项卡的cookie保存在c:\tab2'?这样我就可以在yahoo.com的邮件上有上百个标签了 我在谷歌搜索过,我知道IdCoo

我想加载多个yahoo邮件,
示例我在delphi中有多个选项卡,
第一个标签加载yahoo.com, 第二个选项卡也加载yahoo.com,
但是,当delphi Twebbrowser加载相同的url时,它们将加载相同的cookie,
因此,第二个选项卡也会加载相同的第一个选项卡电子邮件地址。
如何将第一个选项卡的cookie保存在
c:\tab1
中,如何将第二个选项卡的cookie保存在
c:\tab2'
?这样我就可以在yahoo.com的邮件上有上百个标签了

我在谷歌搜索过,我知道
IdCookieManager能够控制cookie,

但我找不到任何解决方案?

TWebBrowser只是Internet Explorer ActiveX控件的薄薄包装。因此,它使用Internet Explorer的Cookie、缓存、设置等。您无法控制为每个TWebBrowser实例指定不同的文件夹。

首先,我的答案基于这样一种假设,即您希望在沙箱中运行TWebBrowser

TWebBrowser实际上是的包装器。MSIE有自己的网络通信实现,因此任何第三方框架(如Indy)都无法拦截/处理浏览器实例的网络通信

好的,
TWebBrowser
将从注册表读取MSIE的大部分设置。(不是100%,但接近,不包括在内)。Cookie的位置也在注册表中定义。如果您能够在不从默认位置加载设置的情况下创建浏览器实例,则可以单独保存cookie

一种可行的方法是自定义ActiveX控件本身。IMO的一个良好起点是创建TWebBrowser类的下降,并继承IDocHostUIHandler接口。下一件重要的事情是重写
GetOptionKeyPath
方法。这是你的电话号码,这是一个电话号码,供你参考


浏览器自定义不是一件容易的工作。我希望这些信息能对您有所帮助。

Indy的cookie manager用于管理与Indy组件一起使用的cookie。您的Web浏览器未使用Indy,因此Indy的cookie manager在这里将毫无用处。你的问题的解决方案在别处。没有必要使用Twebbroswer,任何解决方案都符合我的目的吗?@C.Y Remy回答了你提出的问题。如果你问了错误的问题,那么你应该接受这个答案,然后问能帮助你解决问题的问题。我认为你不能孤立一个
TWebBrowser
实例。在单个应用程序中->尚未验证。但在多进程体系结构中,它是有效的。我已经使用了这个架构,成功地隔离了不同浏览器实例的FeatureControls、proxy设置和MimeFilter。