Einzelnen Beitrag anzeigen

bcvs

Registriert seit: 16. Jun 2011
668 Beiträge
 
Delphi 12 Athens
 
#1

HTTPApp.TWebResponse und Cookies

  Alt 8. Jun 2021, 16:57
Hallo zusammen,

ich fange gerade an, eine bestehende PHP-Webanwendung auf Delphi mit WebBroker umzustellen. Soll später eine ISAPI-DLL werden, derzeit zu Testzwecken noch eine Standalone-Exe.

Momentan kämpfe ich noch mit den Cookies. Im WebModule1DefaultHandlerAction mache ich folgendes:
Delphi-Quellcode:
    if Request.PathInfo = '/Index.htmlthen begin
      if Request.CookieFields.Count >0 then begin // ist immer 0
        ShowMessage(Request.CookieFields.Text);
      end;
      LCookie := TStringList.Create;
      try
        LCookie.Add('MyApp=Test Cookies für Webserver');
        LCookie.Add('SetAt=' + FormatDateTime('dd/mm/yyyy hh:mm', Now));

        Response.SetCookieField(LCookie, 'localhost', '/', -1, False);
        PageProducer1.HTMLFile:= HtmlPath + Request.PathInfo;
        Response.Content :=PageProducer1.Content;
      finally
        FreeAndNil(LCookie);
      end;
    end
    else begin
      PageProducer1.HTMLFile:= HtmlPath + Request.PathInfo;
      Response.Content :=PageProducer1.Content;
    end;
Dem SetCookieField gebe ich -1 als Expires mit, damit das Cookie nur so lange vorhanden ist, wie der Browser offen ist. Request.CookieFields.Count ist dann aber 0. Was mache ich da falsch?

Wenn ich Response.SetCookieField(LCookie, 'localhost', '/', Now + 1, False); mache, sehe ich das ShowMessage mit den Cookies. Dann müsste ich die Cookies nur wieder vom Browser entfernen können, wenn der User sich ausloggt. Aber wie geht das?
  Mit Zitat antworten Zitat