Define a ruta no obxecto Mechanize antes de obter:

use WWW::Mechanize;

my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
    ['http', 'https'],
    'http://proxy.example.net:8080',
);

Usa o oínte HTTP previsto no exemplo; para solicitudes permitidas a destinos públicos, os candidatos están na lista de proxies HTTP. A matriz nomea os esquemas de destino. O punto final http:// fornece unha ruta CONNECT común para HTTPS: HTTP ao proxy, túnel ao destino e despois TLS do destino. Se o despregamento usa no seu lugar configuracións de ambiente, $mech->env_proxy é a alternativa; importalas despois pode cambiar unha ruta asignada no código.

Mechanize herda a rede de LWP::UserAgent en vez de fornecer un motor de proxy HTTPS separado:

  • Mechanize fornece ligazóns, formularios e comportamento da páxina actual.
  • LWP::UserAgent e o seu transporte HTTP seleccionan a ruta e organizan CONNECT.
  • LWP::Protocol::https fornece o manexo de HTTPS e actualiza a conexión.
  • Net::HTTPS co seu backend SSL fornece o socket capaz de TLS, normalmente IO::Socket::SSL nas configuracións modernas.

Un backend SSL instalado non selecciona por si mesmo un proxy. Mantén o nome de host HTTPS orixinal na URL: a aceptación de CONNECT non verifica o certificado dese sitio.

Ao manter compoñentes antigos, distingue estes límites. libwww-perl 6.06 e o LWP::Protocol::https 6.06 distribuído por separado introduciron correccións coordinadas para o CONNECT HTTP normal. A versión de UserAgent por si soa non identifica o módulo HTTPS. LWP::Protocol::https 6.15 engadiu unha corrección para puntos finais de proxy con TLS, cuxo esquema https:// engade TLS ao proxy antes do TLS do destino.

As configuracións máis antigas de Net::SSL/Crypt::SSLeay poden usar no seu lugar o mecanismo de ambiente HTTPS_PROXY documentado dese backend. Non apliques a súa receita á ruta moderna IO::Socket::SSL, onde LWP posúe o enrutamento.

Usa a primeira etapa fallida para seleccionar o compoñente: un xestor HTTPS ausente afecta o módulo de protocolo; un CONNECT rexeitado afecta a ruta, as credenciais ou a política; un erro de certificado posterior ao túnel afecta a identidade e a confianza do destino. Mantén a verificación mentres cambias o compoñente que apoia esa evidencia.

Artigos relacionados