Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Authentication mit Indy Http Client (https://www.delphipraxis.net/172954-authentication-mit-indy-http-client.html)

Shark99 30. Jan 2013 09:43

Authentication mit Indy Http Client
 
Ich versuche mit diesem Code den Inhalt einer geschützen Webseite zu bekommen:
Delphi-Quellcode:
begin
  // Init request:  
  IdHttp1 := TIdHttp.Create(nil);
  try
    IdHttp1.Request.Username := 'xxx';
    IdHttp1.Request.Password := 'xxx';
       
    Result := IdHttp1.Get(URL)
   finally
    idHttp.Free;
   end;
end;
Mit Chrome/Firefox werde ich nach User/Pwd in einem Dialog gefragt und dann wird die Webseite
angezeigt.

Mit dem Indy Client bekomme ich 401 Auth Required zurück.

Was mache ich falsch? Muss ich irgendwelche Parameter setzen?

Andreas L. 30. Jan 2013 09:58

AW: Authentication mit Indy Http Client
 
Delphi-Quellcode:
  IdHTTP1.Request.BasicAuthentication := True;

Shark99 30. Jan 2013 10:01

AW: Authentication mit Indy Http Client
 
Gleiches Ergebnis. Muss ich wohl WireShark installieren. :/

Klaus01 30. Jan 2013 10:13

AW: Authentication mit Indy Http Client
 
Ereichst Du die Seite per HTTP oder HTTPS?
Grüße
Klaus

Shark99 30. Jan 2013 10:33

AW: Authentication mit Indy Http Client
 
Http, ist ein lokaler WebIf auf einer Dreambox. Habs aber auch schon mit einem Webserver getestet und bekomme da auch 401 (Chrome/Firefox gehts, also passen die Zugangsdaten). Hab das aktuelle Indy 10 von SVN (gestern normales 10.1.5x gehabt mit dem gleichen Problem).

Andreas L. 30. Jan 2013 10:43

AW: Authentication mit Indy Http Client
 
Wird das OnAuthorization-Ereignis nach dem .Get() ausgelöst?

EDIT: Du kannst auch versuchen die Login-Daten in der URL zu übergeben:
http://username:password@domain.de/xyz.html

blackfin 30. Jan 2013 10:57

AW: Authentication mit Indy Http Client
 
Hat es vielleicht etwas mit dem Charset von Username/Passwort/Url zu tun?
Soviel ich weiss, wirft Indy keine Exception, wenn die Auth fehlschlägt (401).

Probier doch mal folgendes dem Request anzufügen:
Delphi-Quellcode:
IdHTTP1.Request.Charset := 'utf-8';

Shark99 30. Jan 2013 11:08

AW: Authentication mit Indy Http Client
 
Da ich im lokalen Netzwerk teste heisst der User "admin" und das Password ist "abc123", also dürfte es mit Kodierung keine Probleme geben. Hab nun 20 Minuten lang gegoogelt und da scheinen auch andere diese Problem zu haben (und das nicht nur mit aktuellen Indy).

mjustin 30. Jan 2013 11:29

AW: Authentication mit Indy Http Client
 
Zitat:

Zitat von Shark99 (Beitrag 1201286)
Gleiches Ergebnis. Muss ich wohl WireShark installieren. :/

Es muss nicht Wireshark sein, für die HTTP Überwachung ist Fiddler einfacher in der Handhabung.

http://www.fiddler2.com/fiddler2/

mjustin 30. Jan 2013 11:34

AW: Authentication mit Indy Http Client
 
Zitat:

Zitat von Shark99 (Beitrag 1201281)

Mit Chrome/Firefox werde ich nach User/Pwd in einem Dialog gefragt und dann wird die Webseite
angezeigt.

Mit dem Indy Client bekomme ich 401 Auth Required zurück.

Was mache ich falsch? Muss ich irgendwelche Parameter setzen?

Ist es sicher HTTP Basic Auth? Es könnte auch eine Digest oder NTLM basierte Anmeldung sein.

http://de.wikipedia.org/wiki/HTTP-Au...rung#Verfahren

Sicher sagen kann man es nur anhand der Daten im Response Header, oder durch Einsatz des Debuggers.

Indy unterstützt diverse Verfahren, man muss dem Projekt dazu nur eine weitere Unit hinzufügen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:58 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz