为了账号安全,请及时绑定邮箱和手机立即绑定

请问delphi如何获取webrowser控件的cookiee?

请问delphi如何获取webrowser控件的cookiee?

SMILET 2019-06-19 21:15:50
delphi如何获取webrowser控件的cookiee?
查看完整描述

3 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

获取 webrowser 的 Cookie ,可以通过 IHtmlDocument2 接口,访问 cookie 属性,以下是代码示例:

1CooKies :=(WebBrowser1.Document as IHtmlDocument2).cookie;

如果给其他组件使用,例如 IdHttp 组件,需要前面再添加“ Cookie:”做为标示符:

123    CookieStr := 'Cookie: ' + CooKies;    idHttp2.Request.CustomHeaders.Text := CookieStr;    Memo1.Text := UTF8Decode(IDHttp1.Get(网址));


查看完整回答
反对 回复 2019-06-29
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

获取post,或者get返回的cookie,除了过滤返回的字符串之外,最简单的方法是使用idhttp的CookieManager属性。
比如获得IDhttp返回的全部Cookie:
if idhttp1.CookieManager.CookieCollection.Count > 0 then
for i := 0 to idhttp1.CookieManager.CookieCollection.Count - 1 do
temp := temp + idhttp1.CookieManager.CookieCollection.Items[i] .CookieText + ';';

也可以通过属性名和属性值的形式获得,这样就可以提取出个别的Cookie值:
idhttp1.CookieManager.CookieCollection.Items[i]
.CookieName idhttp1.CookieManager.CookieCollection.Items[i]
.Value

比如:
temp := TStringList.Create;

if idhttp1.CookieManager.CookieCollection.Count > 0 then
for i := 0 to idhttp1.CookieManager.CookieCollection.Count - 1 do
// temp := temp + idhttp1.CookieManager.CookieCollection.Items[i] .CookieText + ';';
temp.Add(idhttp1.CookieManager.CookieCollection.Items[i]
.CookieName + '=' + idhttp1.CookieManager.CookieCollection.Items[i]
.Value);



查看完整回答
反对 回复 2019-06-29
?
MMTTMM

TA贡献1869条经验 获得超4个赞

以下是使用步骤的演示代码:


1、WebBrowswer 控件打开网址后,获取其 Cookie 值:


1  CookieStr  := 'Cookie: ' + (Web.document as IHtmlDocument2).cookie;


2、将 Cookie 值传给 idhttp 控件使用:


12  if CookieStr <> '' then    IdHTTP1.Request.CustomHeaders.Text := CookieStr;


查看完整回答
反对 回复 2019-06-29
  • 3 回答
  • 0 关注
  • 1148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信