En AnyEvent::HTTP 2.25, una conexión reutilizable puede tener prioridad incluso si se creó con otra configuración de proxy. Cuando las peticiones a un mismo sitio usan rutas distintas, separe la caché con valores sessionid propios de cada ruta:

my $request = http_get 'http://www.example.com/',
    proxy => ['proxy.example', 8080],
    sessionid => 'office-route',
    sub {
        my ($body, $headers) = @_;
        print $headers->{Status};
    };

Incluya en esa identidad de sesión cualquier distinción de cuenta que necesite la aplicación. La reutilización queda limitada a sesiones coincidentes. Configure persistent en false cuando haga falta una conexión nueva.

Para la dirección HTTP pública mostrada, la lista de proxies HTTP puede aportar valores candidatos de host y puerto cuando se permite una ruta pública sin autenticación. El fragmento supone que AnyEvent::HTTP está cargado y que su bucle de eventos se ejecuta. Mantenga vivo el guardián de la petición hasta completarla; destruirlo cancela la operación.

La matriz de proxy acepta nombre de host, puerto y esquema HTTP opcional, no una URL con credenciales. La autenticación requiere una cabecera Proxy-Authorization adecuada que aporte quien llama. Este ejemplo HTTP sencillo mantiene el enrutamiento y la propiedad de la conexión separados de cualquier capacidad de túnel HTTPS.

Artículos relacionados