AnyEvent::HTTP: atskiri proxy maršrutai su sessionid
Naudokite aiškų AnyEvent::HTTP proxy ir sesijos identifikatorių, kai keli proxy maršrutai dalijasi tuo pačiu tikslu.
AnyEvent::HTTP 2.25 versijoje daugkartinio naudojimo ryšys gali įgyti pirmenybę net tada, kai buvo sukurtas pagal kitą proxy nustatymą. Kai užklausos į tą pačią svetainę naudoja skirtingus maršrutus, atskirkite podėlį maršrutui būdingomis sessionid reikšmėmis:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Įtraukite į tą sesijos tapatybę bet kokį paskyros atskyrimą, kurio reikia programai. Pakartotinis naudojimas apsiriboja atitinkančiomis sesijomis. Kai reikia naujo ryšio, vietoj to nustatykite persistent į false.
Rodomam viešajam HTTP adresui HTTP proxy sąrašas gali pateikti kandidatines hosto ir prievado reikšmes, kai leidžiamas viešas maršrutas be autentifikavimo. Šis fragmentas daro prielaidą, kad AnyEvent::HTTP įkeltas ir jo įvykių ciklas veikia. Laikykite užklausos sargą gyvą iki pabaigos; jo sunaikinimas atšaukia operaciją.
Proxy masyvas priima hosto vardą, prievadą ir pasirenkamą HTTP schemą, o ne URL su prisijungimo duomenimis. Autentifikacijai reikia tinkamos skambinančiojo pateiktos Proxy-Authorization antraštės. Šis paprastas HTTP pavyzdys laiko maršrutizavimą ir ryšio nuosavybę atskirai nuo bet kokios HTTPS tunelio galimybės.