Requests ProxyError έναντι urllib3 ProxyError
Πιάστε την εξαίρεση που εκθέτει η βιβλιοθήκη HTTP της κλήσης και εξετάστε τις εμφωλευμένες αιτίες χωρίς να βασίζεστε μόνο σε ένα όνομα κλάσης.
Τα requests.exceptions.ProxyError και urllib3.exceptions.ProxyError είναι διαφορετικές κλάσεις εξαίρεσης. Το κοινό σύντομο όνομα δεν κάνει μία ρήτρα except να πιάνει και τα δύο.
Για μια κλήση Requests, ξεκινήστε από το δημόσιο API εξαιρέσεων του Requests. Ο προσαρμογέας μεταφοράς του μετατρέπει συνήθως αποτυχίες χαμηλότερου επιπέδου στις εξαιρέσεις που εκθέτει το Requests. Οι παλαιότερες εκδόσεις είχαν συγκεκριμένα σφάλματα περιτύλιξης, οπότε κρατήστε την έκδοση της βιβλιοθήκης μαζί με ένα απρόσμενο traceback.
Κατά τη διερεύνηση, εξετάστε το module, την κλάση και την αλυσιδωτή αιτία της εξαίρεσης. Ένα εμφωλευμένο MaxRetryError ή αποτυχία σύνδεσης μπορεί να διατηρήσει χρήσιμα στοιχεία για το προηγούμενο στάδιο του proxy.
Αποφύγετε την εισαγωγή μιας παλιάς ενσωματωμένης διαδρομής από ιστορική λύση σε μια σύγχρονη εφαρμογή. Πιάστε τη δημόσια εξαίρεση που ταιριάζει στην τρέχουσα κλήση, διατηρήστε την αιτία για διάγνωση και αποφασίστε ξεχωριστά τη συμπεριφορά επανάληψης. Το να πιάνετε κάθε Exception και να συνεχίζετε για πάντα κρύβει μόνο την αρχική αναντιστοιχία.