![]() |
Indy - Proxy - Fehlermeldung ohne Inhalt
Hallo zusammen,
ich hab ein Tool mit der Indy-Komponente erstellt, was auf eine Website zugreifen soll. Hier klappt alles, nur in der Firma bekomme ich die Fehlermeldung wegen Fehlerhafter Proxyverbindung. Zu Testzwecken hab ich nun ein Prog geschrieben, um die Verbindung zu Testen. Gebe ich keine Proxydaten ein, bekomme ich wieder die besagte Fehlermeldung. Gebe ich die Proxydaten ein, bekomme ich eine Fehlermeldung (Messagebox mit dem Roten "X"), aber ohne Titel und Text :cry: Jemand ne Idee, wie ich herausfinden kann, was mir das Prog damit mitteilen möchte? Anbei mal der Quelltext. Das hab ich mir mal alles aus der Suche zu dem Problem zusammengestellt. Vielleicht liegt auch hier der Fehler?
Delphi-Quellcode:
// Weißt Indy die Proxydaten zu
procedure TForm1.Button1Click(Sender: TObject); begin idhttp1.ProxyParams.ProxyServer:=server.Text; idhttp1.ProxyParams.ProxyPort:=StrToInt(proxy.Text); end; // Ruft eine HP auf und schreibt den Quelltext in ein Memo // Fehlermeldungen entstehen ab hier. // Fehlermeldung Ohne Text erst, wenn Button1Click ausgeführt wurde procedure TForm1.Button3Click(Sender: TObject); begin memo1.Lines.Add(idhttp1.get(url.text)) end; // Methode 1 procedure TForm1.IdHTTP1ProxyAuthorization(Sender: TObject; Authentication: TIdAuthentication; var Handled: Boolean); begin if Checkbox3.Checked then begin; Authentication.Username := Username.Text; Authentication.Password := passwort.Text; end; end; // Methode 2 procedure TForm1.IdHTTPMainSelectProxyAuthorization(Sender: TObject; var AuthenticationClass: TIdAuthenticationClass; AuthInfo: TIdHeaderList); begin if checkbox2.Checked then begin; // First check for NTLM authentication, as you do not need to set username and password because Indy will automatically // handle passing your Windows Domain username and password to the proxy server if (pos('Proxy-Authenticate: NTLM', IdHTTP1.Response.RawHeaders.Text)>0) then begin IdHTTP1.ProxyParams.BasicAuthentication := false; AuthenticationClass := TIdSSPINTLMAuthentication; end else begin //Next check for Basic if (pos('Proxy-Authenticate: Basic', IdHTTP1.Response.RawHeaders.Text)>0) then begin AuthenticationClass := TIdBasicAuthentication; IdHTTP1.ProxyParams.BasicAuthentication := true; end else begin // Then Digest if (pos('Proxy-Authenticate: Digest', IdHTTP1.Response.RawHeaders.Text)>0) then AuthenticationClass := TIdDigestAuthentication end; //.------------ IdHTTP1.ProxyParams.ProxyUsername := username.Text; IdHTTP1.ProxyParams.ProxyPassword := Passwort.Text; end; end; end; // Wahl der SSL Methode procedure TForm1.RadioGroup1Click(Sender: TObject); begin case radiogroup1.ItemIndex of 0: form1.IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvsslV2; 1: form1.IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvsslV3; 2: form1.IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvsslV23; 3: form1.IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method:=sslvTLSV1 end; |
AW: Indy - Proxy - Fehlermeldung ohne Inhalt
Hm, keiner einen Tip, wie ich rausbekomme, was mir das Prog mit der leeren Fehlermeldung sagen möchte ?
|
AW: Indy - Proxy - Fehlermeldung ohne Inhalt
Liste der Anhänge anzeigen (Anzahl: 1)
Konnte heute entlich mal ein ScreenShot machen.
Wie gesagt, das kommt immer, wenn ich auf den Button3 "Lade Website" klicke (idhttp.get(...)). Zuhause klappts. |
AW: Indy - Proxy - Fehlermeldung ohne Inhalt
Liste der Anhänge anzeigen (Anzahl: 2)
Kann mir einer mal ein gefallen tun und das Prog (siehe Anhang) bei sich testen?
Ich hab nur einen Rechner, an dem ich das mit den Proxy Einstellungen testen kann, und an dem kommt die meldung ohne Inhalt :( Wenn ich den Inhalt der Meldung nicht rausbekomme, dann wenigstens mal ein Versuch, obs am Netzwerk/PC oder Programm liegt... im Zip-Ordner "Quelltext" fehlen die erforderlichen .dll Dateien, diese sind aber im Zip-Ordner "Exe Datei" Vielen Dank schonmal. Gruß Torsten |
AW: Indy - Proxy - Fehlermeldung ohne Inhalt
bekomme weder mit noch ohne Proxy eine Fehlermeldung.
Je nach Proxy kann aber auch mal ein
Code:
kommen, eventuell ist ja bei Dir genau diese Meldung ohne Text?
---------------------------
Project1 --------------------------- Die Verbindung wurde erfolgreich geschlossen. --------------------------- OK --------------------------- Fang mal bitte die Exception EIdConnClosedGracefully ab, um festzustellen, ob diese eventuell ohne Fehlermeldung kommt. HTTP solltest Du eventuell wieder freigeben.
Delphi-Quellcode:
Memo2.Lines.Add('*** nach Proxy Check ***');
Memo1.Text:=HTTP.get(url.Text);; Memo2.Lines.Add('*** nach http.get ***'); http.Free; |
AW: Indy - Proxy - Fehlermeldung ohne Inhalt
Vielen dank für den Test und die Infos.
Wenn der "Get" Befehl ausgeführt wird, dann soll Webseiteninhalt in das unteren Memo geschrieben werden. Das klappt bei mir ohne Proxy. Auf einem Rechner mit Proxy kommt diese Fehlermeldung, aber im zweiten Memo wird nichts. Was ich schon festgestellt habe, das der Fehler aus der "ProxyAuthorization" Procedure kommen muss, da der LogText am Anfang der Procedure ins erste Memo geschrieben wird, der Logtext nach der Procedure aber nicht mehr. Das mit der Exception teste ich dann auch nochmal. Gruß Torsten |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz