![]() |
lNet HTTP Client Authentifizierung
Hallo zusammen,
ich habe gerade ein Problem mit der lNet HTTPClientComponent unter Lazarus. Die Zielplattform ist WinCE. Es soll ein Bild von einem Webserver mit Authentifizierung geladen werden, allerdings scheint der HTTPClient von lNet keine Authentifizierung zu unterstützen oder ich habe es einfach übersehen bis jetzt. Gibt es evtl. Alternativen für den HTTP-Client (muss aber WinCE unterstützen)? |
AW: lNet HTTP Client Authentifizierung
Bis jetzt habe ich noch keine Lösung zur Authentifizierung mit lNet gefunden. Bei der aktuellen Anwendung wird das eigentlich auch nicht gebraucht, ich konnte die Authentifizierung am Server (IP-Cam) abschalten.
|
AW: lNet HTTP Client Authentifizierung
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:
Gruß,
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; Sven |
AW: lNet HTTP Client Authentifizierung
Hey,
danke für den Beispiel-Code! Habe gerade kein MP277 zum Testen griffbereit, werde es aber bei Gelegenheit versuchen. :thumb: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:12 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