Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Twebbrowser mit Password und Username

  Alt 5. Mär 2007, 08:47
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
  Mit Zitat antworten Zitat