Hallo Alex,
der HTTP Challenge-Response-Mechanismus wird in
RFC-2617 beschrieben.
Du kannst einen Authorization Header vorab senden und wirst dann vom Server nicht mehr gefragt. Vom Prinzip her sieht das für die Basic Authentication so aus:
Delphi-Quellcode:
uses
Base64;
procedure TDemoForm.ButtonClick(Sender: TObject);
const
USERNAME = '
ADMIN';
PASSWORD = '
adminkey';
var
Url, Headers: OleVariant;
begin
Url := UrlEdit.Text;
Headers := '
Authorization: Basic ' + StrToBase64(USERNAME + '
:' + PASSWORD);
ShowMessage(VarToStr(Headers));
WebBrowser.Navigate2(
Url, EmptyParam, EmptyParam, EmptyParam, Headers);
end;
Oft ist es interessanter den Header im Ereignis OnBeforeNavigate2() beizusteuern. Wenn du unterschiedliche Seiten besuchen willst, dann macht es vielleicht Sinn für jeden Realm die Credentials zu hinterlegen und erst auf die Response-Codes 401 bzw. 407 zu reagieren.
Grüße vom marabu