requests.exceptions.ProxyError und urllib3.exceptions.ProxyError sind unterschiedliche Ausnahmeklassen. Ein gemeinsamer kurzer Name sorgt nicht dafür, dass ein except-Zweig beide fängt.

Beginnen Sie bei einem Requests-Aufruf mit der öffentlichen Requests-Exception-API. Ihr Transportadapter übersetzt Fehler auf niedrigerer Ebene normalerweise in die von Requests bereitgestellten Ausnahmen. Ältere Versionen hatten spezifische Wrapping-Fehler, daher sollten Sie die Bibliotheksversion bei einem unerwarteten Traceback festhalten.

Prüfen Sie bei der Untersuchung Modul, Klasse und verkettete Ursache der Ausnahme. Ein verschachtelter MaxRetryError oder Verbindungsfehler kann nützliche Hinweise auf die frühere Proxy-Stufe enthalten.

Vermeiden Sie es, einen alten eingebetteten Pfad aus einer historischen Problemumgehung in eine moderne Anwendung zu importieren. Fangen Sie die für den aktuellen Aufruf passende öffentliche Ausnahme, erhalten Sie die Ursache für die Diagnose und entscheiden Sie das Wiederholungsverhalten separat. Jede Exception zu fangen und endlos weiterzulaufen verbirgt nur die ursprüngliche Diskrepanz.

Ähnliche Artikel