Ich hatte das vorhin mit einer Kombination aus einem Programm mit
TIdHTTP (Delphi XE3) und einer 64Bit-
ISAPI-
DLL (Delphi XE2) auf einem Windows Server 2008 ausprobiert:
Server:
Delphi-Quellcode:
procedure TWebModule1.WebModule1TestAction(Sender: TObject; Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
var
N: Integer;
S: String;
begin
S := Request.Authorization;
N := Pos(' ',s);
if N > 0 then
begin
Delete(S,1,n);
S := TIdDecoderMIME.DecodeString(S);
N := Pos(':',S);
if N > 0 then
begin
Response.Content:=Format('Username: %s'+sLineBreak+'Password: %s',[Copy(S,1,N-1),Copy(S,N+1,Length(S)-N+1)]);
Exit;
end;
end;
Response.Content:='Error';
end;
Klient:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
HTTP: TIdHTTP;
begin
HTTP := TIdHTTP.Create;
try
HTTP.Request.BasicAuthentication := True;
HTTP.HandleRedirects := True;
HTTP.Request.Username := Edit1.Text;
HTTP.Request.Password := Edit2.Text;
Memo1.Lines.Text := HTTP.Get('http://maps4delphi.com/test');
finally
HTTP.Free;
end;
end;
Hinweis: Der Link zum Server ist nur temporär gültig.
@mjustin:
Hatte ich nicht genau das beschrieben!?