Registriert seit: 12. Jun 2002
3.483 Beiträge
Delphi 10.1 Berlin Professional
|
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;
|
|
Zitat
|