Thema: Delphi Web Server Anwendungen

Einzelnen Beitrag anzeigen

jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#18
  Alt 8. Jul 2002, 22:46
Zitat von jbg:
Code:
function GetCookie(Name: string): string;
var
  Cookie: string;
  ps: Integer;
begin
  Result := '';
  Cookie := GetEnvironmentVaiable('HTTP_COOKIE');
  ps := Pos(Name + '=', Cookie);
  if ps > 0 then
  begin
    Delete(Cookie, 1, ps + Length(Name) - 1);
    ps := pos(';', Cookie);
    if ps = 0 then ps := Pos(' ', Cookie);
    if ps = 0 then ps := Length(Cookie) + 1;
    Result := Copy(Cookie, 1, ps - 1);
  end;
end;
Und setzen kann man Cookies, in dem man folgende Prozedur für jedes zu setzendes Name=Value Paar im http-Header aufruft.
Code:
procedure SetCookie(const Name, Value: string);
begin
  WriteLn('Set-Cookie: ', Name, '=' , Value);
end;

...
// Header senden:
WriteLn('Content-type: text/html');
SetCookie('MyC1', 'Something');
SetCookie('MyC2', 'Some other things');
WriteLn; // header abschließen
Und wenn wir gerade dabei sind. So bekommt man heraus, ob die GET oder POST Methode benutzt wird.
Code:
uses Windows, ...;
var
  s: string;
  ContentLength: Integer;

if SameText(GetEnvironmentVariable('REQUEST_METHOD'), 'POST') then begin
begin
  // per POST übertragen -> POST Daten einlesen
  ContentLength := IntToStrDef(GetEnvironmentVariable('Content_Length'), 0);
  SetLength(s, ContentLength);
  if ContentLength > 0 then
    ReadFile(STD_INPUT_HANDLE, s[1], ContentLength, readn, nil);
end;
  Mit Zitat antworten Zitat