QubesExpressCurrentSessionCookie
Qubes 6.8 Cookie de session pour l'utilisateur ayant effectué la requête
Syntaxe
function QubesExpressCurrentSessionCookie(): String
Remarques
Cette fonction n'est pertinente que dans le cas d'une requête sur le serveur web, elle permet d'obtenir directement le cookie de session, ce qui permet d'effectuer dans le script une autre requête utilisant le compte de l'utilisateur.
Exemples
function DownloadUserAuthentified(const url: String; var data: String): Integer;
begin
var cookies : array of string;
cookies.Add('Cookie: QuBESSession='+ QubesExpressCurrentSessionCookie);
HttpQuery.SetCustomHeaders(cookies);
Result:=HttpQuery.GetData(url, data);
end;
begin
var cookies : array of string;
cookies.Add('Cookie: QuBESSession='+ QubesExpressCurrentSessionCookie);
HttpQuery.SetCustomHeaders(cookies);
Result:=HttpQuery.GetData(url, data);
end;
Pour une version < 6.8 et seulement dans le contexte d'un Web Process
function DownloadUserAuthentified(const url: String; var data: String; timeout : Integer): Integer;
begin
var w := TWinInet.Create;
var h := TStrings.Create;
h.Add('Cookie: QuBESSession='+ReadContextVar('Request.Cookies.QuBESSession'));
w.RequestTimeOut:=timeout;
w.RequestHeaders := h.CommaText;
w.GetRequest(url);
Result := w.StatusCode;
data := w.ContentAsText;
end;
begin
var w := TWinInet.Create;
var h := TStrings.Create;
h.Add('Cookie: QuBESSession='+ReadContextVar('Request.Cookies.QuBESSession'));
w.RequestTimeOut:=timeout;
w.RequestHeaders := h.CommaText;
w.GetRequest(url);
Result := w.StatusCode;
data := w.ContentAsText;
end;