AnyEvent::HTTP: separar rotas de proxy com sessionid
Use um proxy AnyEvent::HTTP explícito e um identificador de sessão quando várias rotas de proxy compartilham o mesmo destino.
No AnyEvent::HTTP 2.25, uma conexão reutilizável pode ter prioridade mesmo tendo sido criada com outra configuração de proxy. Quando pedidos ao mesmo site usam rotas diferentes, separe a cache com valores sessionid específicos da rota:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Inclua nessa identidade de sessão qualquer distinção de conta de que a aplicação precise. A reutilização fica limitada a sessões correspondentes. Defina persistent como false quando for necessária uma conexão nova.
Para o endereço HTTP público mostrado, a lista de proxies HTTP pode fornecer valores candidatos de anfitrião e porta quando é permitida uma rota pública sem autenticação. O trecho assume que o AnyEvent::HTTP está carregado e que o seu ciclo de eventos está a correr. Mantenha vivo o guarda do pedido até à conclusão; destruí-lo cancela a operação.
A matriz de proxy recebe nome de anfitrião, porta e esquema HTTP opcional, não um URL com credenciais. A autenticação exige um cabeçalho Proxy-Authorization adequado fornecido por quem chama. Este exemplo HTTP simples mantém o encaminhamento e a propriedade da conexão separados de qualquer capacidade de túnel HTTPS.