首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法从Indy TIdCookieManager获取cookies

无法从Indy TIdCookieManager获取cookies
EN

Stack Overflow用户
提问于 2018-07-11 18:58:32
回答 2查看 738关注 0票数 1

我有Indy10.6,Windows10和Delphi XE7。

在对HTTPS请求的响应中,CookieManager声明没有cookies,但HTTP Analyzer显示存在:

代码语言:javascript
复制
HTTP/1.1 200 OK
Date: Wed, 11 Jul 2018 10:47:22 GMT
Server: Apache
Cache-Control: no-cache
Pragma: No-cache
Expires: Thu, 01 Jan 1970 00:00:00 GMT
X-Frame-Options: DENY
Set-Cookie: JSESSIONID=vqf9bFgB0wp1vyznZTQ2TLGzpQbpYQTgnwqhtvQpl2D0JdsrpH8G!-32035106!wls-baap401.test.vocalink.co.uk!13129!13109; path=/; HttpOnly
Content-Type: text/xml; charset=UTF-8
Content-Length: 162

我的代码是:

代码语言:javascript
复制
html := IdHTTP1.Get(Login);

Cookies := IdCookieManager1.CookieCollection.LockCookieList(caRead);
  try
    for I := 0 to Cookies.Count-1 do
    begin
      Cookie := Cookies[I];
      // save Cookie as needed...
    end;
  finally
    IdCookieManager1.CookieCollection.UnlockCookieList(caRead);
  end;

但是Cookies.Count是0。

有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2018-07-11 22:57:03

已排序。作为Indy的新手,我忘记了将cookie管理器连接到idHTTP!现在代码可以正常工作了。

票数 2
EN

Stack Overflow用户

发布于 2018-07-12 16:34:03

谢谢。我已经按照建议更改了代码,它更干净,而且显然可以正常工作。直到我开始这个项目,我才意识到可以有多个cookie!

代码语言:javascript
复制
html := IdHTTP1.get(login);

cookies := IdHTTP1.CookieManager.CookieCollection.LockCookieList(caRead);
try
  for J := 0 to cookies.count - 1 do
  begin
    cookie := cookies[J];
    // save Cookie as needed...
    CookieValue := cookie.CookieText;
  end;
finally
  IdHTTP1.CookieManager.CookieCollection.UnlockCookieList(caRead);
end ;

问候你,伊恩

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51283766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档