Tetapkan rute pada objek Mechanize sebelum mengambil:

use WWW::Mechanize;

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

Gunakan listener HTTP yang dimaksud dalam contoh; untuk permintaan yang diizinkan ke target publik, kandidat ada di daftar proxy HTTP. Larik menamai skema tujuan. Endpoint http:// menyediakan rute CONNECT biasa untuk HTTPS: HTTP ke proxy, terowongan ke target, lalu TLS target. Jika penerapan menggunakan pengaturan lingkungan sebagai gantinya, $mech->env_proxy adalah alternatifnya; mengimpornya setelahnya dapat mengubah rute yang ditetapkan dalam kode.

Mechanize mewarisi jaringan LWP::UserAgent alih-alih menyediakan mesin proxy HTTPS terpisah:

  • Mechanize menyediakan tautan, formulir, dan perilaku halaman saat ini.
  • LWP::UserAgent dan transport HTTP-nya memilih rute dan mengatur CONNECT.
  • LWP::Protocol::https menyediakan penanganan HTTPS dan meningkatkan koneksi.
  • Net::HTTPS dengan backend SSL-nya menyediakan soket yang mampu TLS, biasanya IO::Socket::SSL dalam konfigurasi modern.

Backend SSL yang terpasang tidak memilih proxy sendiri. Pertahankan nama host HTTPS asli di URL: penerimaan CONNECT tidak memverifikasi sertifikat situs itu.

Saat memelihara komponen lama, bedakan batas-batas ini. libwww-perl 6.06 dan LWP::Protocol::https 6.06 yang didistribusikan terpisah memperkenalkan perbaikan terkoordinasi untuk CONNECT HTTP normal. Versi UserAgent saja tidak mengidentifikasi modul HTTPS. LWP::Protocol::https 6.15 menambahkan perbaikan untuk endpoint proxy berkemampuan TLS, yang skema https://-nya menambahkan TLS ke proxy sebelum TLS target.

Konfigurasi Net::SSL/Crypt::SSLeay yang lebih lama dapat menggunakan mekanisme lingkungan HTTPS_PROXY yang didokumentasikan backend tersebut sebagai gantinya. Jangan terapkan resepnya pada jalur IO::Socket::SSL modern, tempat LWP memiliki perutean.

Gunakan tahap pertama yang gagal untuk memilih komponen: penangan HTTPS yang hilang menyangkut modul protokol; CONNECT yang ditolak menyangkut rute, kredensial, atau kebijakan; kesalahan sertifikat setelah terowongan menyangkut identitas dan kepercayaan tujuan. Pertahankan verifikasi saat mengubah komponen yang didukung bukti itu.

Artikel terkait