AnyEvent::HTTP: διαχωρισμός διαδρομών proxy με sessionid
Χρησιμοποιήστε ρητό proxy του AnyEvent::HTTP και αναγνωριστικό συνεδρίας όταν πολλές διαδρομές proxy μοιράζονται τον ίδιο προορισμό.
Στο AnyEvent::HTTP 2.25 μια επαναχρησιμοποιήσιμη σύνδεση μπορεί να προηγηθεί ακόμη και όταν δημιουργήθηκε κάτω από άλλη ρύθμιση proxy. Όταν τα αιτήματα προς τον ίδιο ιστότοπο χρησιμοποιούν διαφορετικές διαδρομές, διαχωρίστε την κρυφή μνήμη με τιμές sessionid ειδικές για τη διαδρομή:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Συμπεριλάβετε όποια διάκριση λογαριασμού χρειάζεται η εφαρμογή σε αυτή την ταυτότητα συνεδρίας. Η επαναχρησιμοποίηση περιορίζεται σε ταιριαστές συνεδρίες. Ορίστε το persistent σε false όταν απαιτείται νέα σύνδεση.
Για τη δημόσια διεύθυνση HTTP που φαίνεται, η λίστα proxy HTTP μπορεί να δώσει υποψήφιες τιμές κεντρικού υπολογιστή και θύρας όταν επιτρέπεται δημόσια διαδρομή χωρίς έλεγχο ταυτότητας. Το απόσπασμα υποθέτει ότι το AnyEvent::HTTP έχει φορτωθεί και ο βρόχος συμβάντων του εκτελείται. Κρατήστε τον φύλακα του αιτήματος ζωντανό μέχρι την ολοκλήρωση· η καταστροφή του ακυρώνει τη λειτουργία.
Ο πίνακας proxy δέχεται όνομα κεντρικού υπολογιστή, θύρα και προαιρετικό σχήμα HTTP, όχι URL με διαπιστευτήρια. Ο έλεγχος ταυτότητας απαιτεί κατάλληλη κεφαλίδα Proxy-Authorization από τον καλούντα. Αυτό το απλό παράδειγμα HTTP κρατά τη δρομολόγηση και την κυριότητα της σύνδεσης χωριστά από οποιαδήποτε δυνατότητα σήραγγας HTTPS.