Я использую TIdHTTP для запроса веб-службы, после аутентификации я должен хранить информацию о сеансе, но IdCookieManager кажется потерянным всегда один cookie ...
Это мой очень простой фрагмент
procedure TForm1.Button5Click(Sender: TObject);
var
i : Integer;
Cookie : TIdCookies;
begin
Memo1.Lines.Clear;
try
IdHTTP1.AllowCookies := true;
IdHTTP1.CookieManager := IdCookieManager1;
IdHTTP1.Get(Edit2.Text);
if IdCookieManager1.CookieCollection.Count = 0
then Memo1.Lines.Add('Empty');
Cookie := IdCookieManager1.CookieCollection;
for i := 0 to Cookie.Count -1 do
Memo1.Lines.Add(Cookie.Cookies[i].Domain + ': ' + Cookie.Cookies[i].CookieName +
'=' + Cookie.Cookies[i].Value);
except
on E : Exception do
Memo1.Lines.Add(E.Message);
end;
end;
Например, если я получу IdHTTP1.Get('www.google.com');
, я получу два файла cookie (1P_JAR, NID), но если я сделаю это в веб-браузере, это даст три (1P_JAR, NID и CONSENT).
И это для всех URL, кажется, что он "теряет" всегда один cookie