AnyEvent::HTTP: separera proxy-rutter med sessionid
Använd en explicit AnyEvent::HTTP-proxy och en sessionsidentifierare när flera proxy-rutter delar samma mål.
I AnyEvent::HTTP 2.25 kan en återanvändbar anslutning få företräde även när den skapades under en annan proxyinställning. När förfrågningar till samma webbplats använder olika rutter, separera cachen med rutspecifika sessionid-värden:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Ta med varje kontoskillnad som programmet behöver i den sessionsidentiteten. Återanvändning begränsas till matchande sessioner. Sätt persistent till false i stället när en ny anslutning krävs.
För den visade offentliga HTTP-adressen kan HTTP-proxylistan leverera kandidatvärden för värd och port när en oautentiserad offentlig rutt tillåts. Utdraget förutsätter att AnyEvent::HTTP är laddat och att dess händelseloop körs. Håll förfrågans vakt vid liv till slutförandet; förstörs den avbryts åtgärden.
Proxy-matrisen tar värdnamn, port och valfritt HTTP-schema, inte en URL med inloggningsuppgifter. Autentisering kräver en lämplig Proxy-Authorization-rubrik från anroparen. Detta enkla HTTP-exempel håller routning och anslutningsägande åtskilt från varje HTTPS-tunnelkapacitet.