Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy: TIdHttp und Basic Authentication (https://www.delphipraxis.net/122473-indy-tidhttp-und-basic-authentication.html)

Phoenix 16. Okt 2008 20:56


Indy: TIdHttp und Basic Authentication
 
Hi,

irgendwo bin ich zur Http Authentication auf folgenden Code gestossen, um Zugangsdaten zu validieren:
Delphi-Quellcode:
   AccountValid:= True; // boolean
   IdHTTP := TIdHTTP.Create(nil);
   try
      IdHTTP.Request.BasicAuthentication := True;
      IdHTTP.Request.Username := 'user';
      IdHTTP.Request.Password := 'pass';
      IdHTTP.Get('http://localhost/test'); // Don't need the result value.
   except
      AccountValid := False;
      ShowMessage('Login invalid');
   end;
   IdHTTP.Free;
Interessanterweise kommt da keine Exception, auch wenn die Anmeldung abgelehnt wird.
Okay - IdHttp.ResponseCode ist 401 und auf den abzufragen ist ggf. sogar sauberer - aber ich frage mich, wieso ich diesen Code so oft bei Google gesehen habe, wenn Indy an der stelle doch offensichtlich gar keine Exception schmeisst?

Hat da wer nähere Infos?

Edit Nachtrag:
Äh.. da scheint was mal so gar nicht zu stimmen. Auch wenn die Zugangsdaten stimmen (mit den gleichen Werten für Benutzer / Passwort / Url bekomme ich über nen SOAP-Request eine Verbindung), ist der ResponseCode 401... das darf doch eigentlich gar nicht sein, oder? :gruebel:

jfheins 16. Okt 2008 21:16

Re: Indy: TIdHttp und Basic Authentication
 
Zitat:

Zitat von Phoenix
Äh.. da scheint was mal so gar nicht zu stimmen. Auch wenn die Zugangsdaten stimmen (mit den gleichen Werten für Benutzer / Passwort / Url bekomme ich über nen SOAP-Request eine Verbindung), ist der ResponseCode 401... das darf doch eigentlich gar nicht sein, oder? :gruebel:

Nein, eigentlich nicht. Wenn der Inhalt zurückgesendet wird, der angefordert wurde, sollte der Statuscode 200 OK sein. (Oder n anderer für "hat sich nit geändert, kannst den Cache benutzen" - die beiden sollten in der Praxis am häufigsten sein)

Ich hab zwear kein Delphi, aber für andere interessant: Welche Indy-Version benutzt du?

Phoenix 16. Okt 2008 21:29

Re: Indy: TIdHttp und Basic Authentication
 
Das ist das Indy-Gedöns, was beim RAD Studio 2007 RC 2 drin war.
Alternativ hab ich auch noch das, was beim 2009er dabei war, aber da ich Hydra grad ned im 2009er zum laufen bring muss ich mich vorerst mit der 2007er begnügen.

Sollte ich die Indys mal updaten oder so?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.

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