Getirmeden önce Mechanize nesnesinde rotayı ayarlayın:

use WWW::Mechanize;

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

Örnekteki amaçlanan HTTP dinleyicisini kullanın; izin verilen genel hedeflere yönelik istekler için adaylar HTTP proxy listesinde bulunur. Dizi, hedef şemalarını adlandırır. http:// uç noktası HTTPS için sıradan bir CONNECT rotası sağlar: proxy'ye HTTP, hedefe tünel, ardından hedef TLS. Dağıtım bunun yerine ortam ayarlarını kullanıyorsa $mech->env_proxy alternatiftir; bunları sonradan içe aktarmak kodda atanan bir rotayı değiştirebilir.

Mechanize, ayrı bir HTTPS proxy motoru sağlamak yerine LWP::UserAgent ağını devralır:

  • Mechanize bağlantıları, formları ve geçerli sayfa davranışını sağlar.
  • LWP::UserAgent ve HTTP taşıması rotayı seçer ve CONNECT'i düzenler.
  • LWP::Protocol::https HTTPS işlemeyi sağlar ve bağlantıyı yükseltir.
  • Net::HTTPS, SSL arka ucuyla TLS yetenekli soketi sağlar, modern yapılandırmalarda genellikle IO::Socket::SSL.

Kurulu bir SSL arka ucu kendi başına proxy seçmez. Özgün HTTPS ana bilgisayar adını URL'de tutun: CONNECT kabulü o sitenin sertifikasını doğrulamaz.

Eski bileşenleri bakımda tutarken bu sınırları ayırt edin. libwww-perl 6.06 ve ayrı dağıtılan LWP::Protocol::https 6.06, normal HTTP CONNECT için eşgüdümlü düzeltmeler getirdi. Yalnızca UserAgent sürümü HTTPS modülünü tanımlamaz. LWP::Protocol::https 6.15, TLS etkin proxy uç noktaları için bir düzeltme ekledi; bunların https:// şeması hedef TLS'den önce proxy'ye TLS ekler.

Daha eski Net::SSL/Crypt::SSLeay yapılandırmaları bunun yerine o arka ucun belgelenmiş HTTPS_PROXY ortam mekanizmasını kullanabilir. Tarifini, yönlendirmenin LWP'ye ait olduğu modern IO::Socket::SSL yoluna uygulamayın.

Bileşeni seçmek için ilk başarısız aşamayı kullanın: eksik HTTPS işleyicisi protokol modülüyle ilgilidir; reddedilen CONNECT rota, kimlik bilgileri veya ilkeyle ilgilidir; tünel sonrası sertifika hatası hedefin kimliği ve güveniyle ilgilidir. Bu kanıtın desteklediği bileşeni değiştirirken doğrulamayı koruyun.

İlgili makaleler