Οι επιλογές διαμεσολαβητή του Tornado χρειάζονται το σωστό HTTP backend
Ελέγξτε την ενεργή υλοποίηση του πελάτη HTTP του Tornado πριν ρυθμίσετε τις επιλογές αιτήματος διαμεσολαβητή.
Το Tornado παρέχει μία ασύγχρονη διεπαφή πελάτη HTTP, κάτω από την οποία υπάρχουν διαφορετικές υλοποιήσεις. Επομένως, οι επιλογές διαμεσολαβητή μπορεί να αποτύχουν εξαιτίας της επιλεγμένης υλοποίησης ακόμη και όταν το τελικό σημείο του διαμεσολαβητή είναι σωστό.
Η τεκμηρίωση του πελάτη HTTP προσδιορίζει το SimpleAsyncHTTPClient ως την προεπιλεγμένη υλοποίηση και τεκμηριώνει την εναλλακτική που βασίζεται στο curl. Οι επιλογές αιτήματος όπως το proxy_host έχουν σημειώσεις υποστήριξης ειδικές για την υλοποίηση. Διαβάστε αυτές τις σημειώσεις πριν προσθέσετε επιλογές σε μια κλήση fetch.
Ρυθμίστε πριν δημιουργήσετε τον πελάτη
Σε περιβάλλον που διαθέτει ήδη το backend curl, μια εφαρμογή μπορεί να το επιλέξει πριν δημιουργήσει τον κοινόχρηστο πελάτη της:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Στη συνέχεια χρησιμοποιήστε τις τεκμηριωμένες επιλογές αιτήματος για κεντρικό υπολογιστή, θύρα, έλεγχο ταυτότητας και χρονικό όριο του διαμεσολαβητή για την προβλεπόμενη κλήση. Κρατήστε το όνομα κεντρικού υπολογιστή χωριστά από την αριθμητική θύρα. Η επιλογή του backend δεν επιλέγει από μόνη της τελικό σημείο διαμεσολαβητή. Για μια επιτρεπόμενη δημόσια διαδρομή HTTP, η λίστα διαμεσολαβητών HTTP παρέχει υποψηφίους κεντρικού υπολογιστή και θύρας για αυτές τις επιλογές αιτήματος.
Η δημιουργία του πελάτη έχει σημασία, γιατί μια εφαρμογή ή ένα πλαίσιο μπορεί να δημιουργήσει και να διατηρήσει έναν πελάτη HTTP πριν εκτελεστεί αυτός ο κώδικας. Εξετάστε το πραγματικό στιγμιότυπο που χρησιμοποιήθηκε στο αποτυχημένο αίτημα, αντί να δημιουργήσετε αργότερα άλλον πελάτη και να υποθέσετε ότι εξηγεί τον πρώτο.
Για διάγνωση, καταγράψτε το ενεργό backend και την έκδοση της υποκείμενης βιβλιοθήκης του μαζί με το στάδιο αποτυχίας. Διακρίνετε μια μη υποστηριζόμενη επιλογή αιτήματος από ένα χρονικό όριο δικτύου και από μια απόκριση HTTP που επέστρεψε ο διαμεσολαβητής. Αυτές οι παρατηρήσεις οδηγούν σε διαφορετικές διορθώσεις.