Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy TIdHttp: Fehlgeschlagene Proxy-Authentifizierung erkenn (https://www.delphipraxis.net/143655-indy-tidhttp-fehlgeschlagene-proxy-authentifizierung-erkenn.html)

Windwalker 20. Nov 2009 12:49


Indy TIdHttp: Fehlgeschlagene Proxy-Authentifizierung erkenn
 
Hallo!

Ich habe eine Proxy-Authentifizierung programmiert.
Sobald der Nutzer zum ersten mal auf den Proxy zugreift, wird ggf. ja das "OnProxyAutohrization"-Event ausgelöst.
In der zugehörigen Methode frage ich den Nutzer in einem Formular nach seinen Login-Daten.

Es klappt alles wunderbar, wenn der User korrekte Daten eingibt.

Falls er sich jedoch verschreibt und die Authentifizierung fehlschlägt, bleibt das Programm sehr lange an der Get-Anweisung hängen.

Wie mache ich das denn, dass eine fehlgeschlagene Authentifizierung erkannt wird und ggf. nochmal nach dem Passwort gefragt werden kann oder das Get einfach umgangen wird?

Danke für die Hilfe,
Sascha.

mjustin 20. Nov 2009 17:23

Re: Indy TIdHttp: Fehlgeschlagene Proxy-Authentifizierung er
 
Zitat:

Zitat von Windwalker
Falls er sich jedoch verschreibt und die Authentifizierung fehlschlägt, bleibt das Programm sehr lange an der Get-Anweisung hängen.

Klingt eher wie ein Problem mit der Proxy-Konfiguration. Wie verhält sich der Proxy, wenn man versucht sich mit einem normalen Browser anzumelden, und dann falsche Angaben macht, dauert das genau so lange?

Die Kommunikation zwischen Delphi Client und Proxy kann man abfangen und untersuchen, indem man noch eine Proxy dazwischen hängt, z.B. sehr einfach mit http://donsproxy.moneybender.com/

Cheers,

Windwalker 23. Nov 2009 09:21

Re: Indy TIdHttp: Fehlgeschlagene Proxy-Authentifizierung er
 
Hallo,

Die Wartezeit hab ich jetzt soweit im Griff.

Jetzt hab ich das Problem, wenn ich die durch die fehlgeschlagene Anmeldung ausgelöste Exception abfange und die Authentifizierungs-Daten zurücksetze mit
Delphi-Quellcode:
IdHTTP.ProxyParams.ProxyUsername := '';
IdHTTP.ProxyParams.ProxyPassword := '';
wird dann zwar das ProxyAuthorization-Event beim nächsten Get neu ausgelöst, aber wenn ich dann die Daten korrekt eingebe, bringt es nichts und das Get schlägt wieder fehl.
Wie bekomme ich denn das in den Griff?

Mattin 23. Nov 2009 12:31

Re: Indy TIdHttp: Fehlgeschlagene Proxy-Authentifizierung er
 
Hallo Windwalker,

da du die Parameter füllst, wird versucht den Proxy zu benutzen. Definiere dir
doch eine Variable, ob der Proxy benutzt werden soll oder nicht.

Zitat:

wird dann zwar das ProxyAuthorization-Event beim nächsten Get neu ausgelöst, aber wenn ich dann die Daten korrekt eingebe, bringt es nichts und das Get schlägt wieder fehl.
Wie bekomme ich denn das in den Griff?
Beispiel:

Delphi-Quellcode:

  if bUseProxy then
  begin  
    IdHTTP.ProxyParams.ProxyUsername := '';
    IdHTTP.ProxyParams.ProxyPassword := '';
  end;
  IdHTTP.Get(........);


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:17 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