Ένα αίτημα μπορεί να παρακάμπτει ένα προσαρμοσμένο middleware proxy και παρ' όλα αυτά να φέρει ενεργό URL proxy στα μεταδεδομένα του. Το ενσωματωμένο HttpProxyMiddleware του Scrapy διαβάζει meta["proxy"]· δεν ερμηνεύει μια γενική σημαία dont_proxy.

Για ένα αίτημα που πρέπει να πάει απευθείας, ορίστε ρητά:

request.meta["proxy"] = None

Το ρητό None εμποδίζει το ενσωματωμένο middleware να επιλέξει proxy από τις ρυθμίσεις περιβάλλοντός του για εκείνο το αίτημα. Η απλή διαγραφή του κλειδιού επιτρέπει ξανά αυτή την αυτόματη επιλογή.

Αν κάποιο άλλο εγκατεστημένο middleware χρησιμοποιεί dont_proxy, κρατήστε αυτή τη σημαία και για τον τεκμηριωμένο σκοπό της. Τακτοποιήστε τη σειρά των middleware ώστε κάποιο μεταγενέστερο στοιχείο να μην εκχωρεί ξανά URL proxy. Επιθεωρήστε τα μεταδεδομένα μετά το τελευταίο στοιχείο που μπορεί να επιλέξει διαδρομή.

Ένα 407 μετά τον ορισμό προσαρμοσμένης σημαίας παράκαμψης είναι συμβατό με μια εναπομένουσα διαδρομή proxy, αλλά η κατάσταση από μόνη της δεν δείχνει ποιο middleware την επέλεξε. Ακολουθήστε το ενεργό πεδίο proxy σε όλη την επεξεργασία εκείνου του αιτήματος αντί να υποθέσετε ότι όλα τα στοιχεία μοιράζονται το ίδιο λεξιλόγιο εξαίρεσης.

Σχετικά άρθρα