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