AnyEvent::HTTP: rute proxy separate cu sessionid
Folosiți un proxy AnyEvent::HTTP explicit și un identificator de sesiune când mai multe rute proxy împart aceeași destinație.
În AnyEvent::HTTP 2.25 o conexiune reutilizabilă poate avea prioritate chiar dacă a fost creată sub altă setare de proxy. Când cererile către același site folosesc rute diferite, separați cache-ul cu valori sessionid specifice rutei:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Includeți în acea identitate de sesiune orice distincție de cont de care are nevoie aplicația. Reutilizarea este limitată la sesiunile potrivite. Setați persistent pe false atunci când este nevoie de o conexiune nouă.
Pentru adresa HTTP publică afișată, lista de proxy-uri HTTP poate furniza valori candidate de gazdă și port atunci când este permisă o rută publică neautentificată. Fragmentul presupune că AnyEvent::HTTP este încărcat și că bucla sa de evenimente rulează. Țineți vie paza cererii până la finalizare; distrugerea ei anulează operația.
Tabloul proxy acceptă nume de gazdă, port și schemă HTTP opțională, nu un URL purtător de acreditive. Autentificarea necesită un antet Proxy-Authorization adecvat furnizat de apelant. Acest exemplu HTTP simplu ține rutarea și proprietatea conexiunii separate de orice capacitate de tunel HTTPS.