Поставете ја рутата на објектот Mechanize пред преземањето:

use WWW::Mechanize;

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

Користете го предвидениот HTTP слушател во примерот; за дозволени барања до јавни цели, кандидатите се во списокот на HTTP прокси. Низата ги именува шемите на целта. Крајната точка http:// обезбедува обична CONNECT рута за HTTPS: HTTP до проксито, тунел до целта, потоа TLS на целта. Ако распоредувањето наместо тоа користи поставки од околината, $mech->env_proxy е алтернативата; нивното подоцнежно внесување може да промени рута доделена во кодот.

Mechanize наследува мрежни функции на LWP::UserAgent наместо да обезбедува посебен HTTPS прокси механизам:

  • Mechanize обезбедува врски, формулари и однесување на тековната страница.
  • LWP::UserAgent и неговиот HTTP транспорт ја избираат рутата и го организираат CONNECT.
  • LWP::Protocol::https обезбедува HTTPS обработка и ја надградува врската.
  • Net::HTTPS со својот SSL backend обезбедува сокет способен за TLS, обично IO::Socket::SSL во современи конфигурации.

Инсталиран SSL backend сам не избира прокси. Задржете го оригиналното HTTPS име на домаќинот во URL-то: прифаќањето на CONNECT не го проверува сертификатот на тој сајт.

При одржување стари компоненти, разликувајте ги овие граници. libwww-perl 6.06 и одделно дистрибуираниот LWP::Protocol::https 6.06 воведоа координирани поправки за обичниот HTTP CONNECT. Самата верзија на UserAgent не го идентификува HTTPS модулот. LWP::Protocol::https 6.15 додаде поправка за прокси крајни точки со TLS, чија шема https:// додава TLS на проксито пред TLS на целта.

Поновите Net::SSL/Crypt::SSLeay конфигурации наместо тоа можат да го користат документираниот HTTPS_PROXY механизам на околината на тој backend. Не го применувајте неговиот рецепт на современата патека IO::Socket::SSL, каде LWP го поседува рутирањето.

Користете ја првата неуспешна фаза за избор на компонентата: отсутен HTTPS ракувач се однесува на протоколарниот модул; одбиен CONNECT се однесува на рутата, акредитивите или политиката; грешка во сертификатот по тунелот се однесува на идентитетот и довербата на целта. Задржете ја верификацијата додека ја менувате компонентата што ја поддржува таа евиденција.

Поврзани статии