无法从Indy TIdCookieManager那里获得 cookies

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (227)

我有Indy 10.6,Windows 10和Delphi XE7。

在响应HTTPS GET请求时,CookieManager状态没有cookie,但HTTP Analyzer显示存在:

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

我的代码是:

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.Count0。

有什么想法吗?

提问于
用户回答回答于

整理好了。作为Indy的新手,我忘了将cookie管理器连接到idHTTP!现在,代码按其应有的方式工作。

扫码关注云+社区

领取腾讯云代金券