AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal lNet HTTP Client Authentifizierung
Thema durchsuchen
Ansicht
Themen-Optionen

lNet HTTP Client Authentifizierung

Ein Thema von divBy0 · begonnen am 11. Okt 2010 · letzter Beitrag vom 30. Okt 2010
 
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#3

AW: lNet HTTP Client Authentifizierung

  Alt 30. Okt 2010, 13:37
Hi!

Ist jetzt zwar schon ein paar Tage her und ich weiß auch nicht, ob das genau das ist was du brauchst, aber in einer (mittlerweile schon älteren) Windows Mobile Anwendung von mir hab ich das folgendermaßen gelöst:

Delphi-Quellcode:
uses
  base64;

function TFormMain.GetAuthorization(const aName, aPassword: String): String;
var
  sStream: TStringStream;
  base64enc: TBase64EncodingStream;
  i: Integer;
begin
  { da ich Base64 Kodierung verwende, müssen Benutzername und Passwort natürlich noch
    entsprechend kodiert werden }

  if (aName <> '') and (aPassword <> '') then begin
    Result := aName + ':' + aPassword;

    sStream := TStringStream.Create('');
    try
      base64enc := TBase64EncodingStream.Create(sStream);
      try
        for i := 1 to Length(Result) do
          base64enc.Write(Result[i], SizeOf(Char));
      finally
        FreeAndNIL(base64enc);
      end;

      sStream.Seek(0, soFromBeginning);

      Result := sStream.ReadString(sStream.Size);
    finally
      FreeAndNIL(sStream);
    end;
  end else
    Result := '';
end;

procedure TFormMain.DownloadData(const aFile: String);
var
  AuthString: String;
begin
  AuthString := GetAuthorization(Options.Name, Options.Password);

  { da lNet Authentifizierung nicht als Eigenschaft hat, muss diese manuell
    angegeben werden. Hier hilft es sich über das HTTP Protokoll zu informieren }

  if AuthString <> 'then
    HTTPClient.AddExtraHeader('Authorization: Basic ' + AuthString);

  { andere Eigenschaften des HTTPClient setzen }

  HTTPClient.SendRequest;
end;
Gruß,
Sven
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz