【发布时间】:2015-08-27 02:11:50
【问题描述】:
在 Delphi XE8 VCL 表单应用程序中,使用 TEmbeddedWB 我使用此方法获取 cookie:
CookieStr := EmbeddedWB1.Cookie;
CodeSite.Send('CookieStr', CookieStr);
这是结果(例如):
名称1=值1;名称2=值2;名称3=值3
但是,如您所见,这仅获取 cookie 的 名称 和 值。
那么我怎样才能获得其他cookie字段,例如path、到期日期等?
【问题讨论】:
-
这也适用于
TWebBrowser控件。您得到的字符串来自IHTMLDocument2::cookie属性。 EWB 不会进行额外处理,并且此属性不会返回超过其设置的值。所以答案是它应该返回那些字段,但它们可能没有设置。 -
我已经签入
C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Cookies:例如c.bing.com/网页设置了这个ANONCHKcookie:i.imgur.com/StfkAz1.png。您可以看到它具有所有字段。但是,EmbeddedWB1.Cookie只会让我得到 'ANONCHK=1;'。另外,当我从我的网站设置一个明确设置到期日期的 cookie 时,我没有通过EmbeddedWB1.Cookie获得这个日期。 -
恐怕您在这里无能为力。
cookie属性应该为您提供那里描述的所有内容(其中还应该包括其他详细信息)。也许有一些安全限制。 -
这是一个简单的问题,没有简单的答案。我在
TWebBrowser之后获得了this tutorial 的成功(我认为你需要做同样的事情,因为我认为 EWB 不会让你的生活更轻松地完成这项任务)。 -
谢谢,这看起来很有趣。将对此进行调查。
标签: delphi cookies delphi-xe8 tembeddedwb