Proksidən keçən Mechanize HTTPS sorğusunun arxasındakı qatlar
Mechanize, LWP-nin HTTPS protokol modulu və SSL arxa fonunun bir HTTPS sorğusunu necə yönləndirdiyini, tunellədiyini və yoxladığını görün.
Marşrutu götürməzdən əvvəl Mechanize obyektində təyin edin:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);Nümunədə nəzərdə tutulan HTTP dinləyicisindən istifadə edin; icazə verilmiş ictimai hədəf sorğuları üçün namizədlər HTTP proksi siyahısındadır. Massiv hədəf sxemlərini adlandırır. http:// son nöqtəsi HTTPS üçün adi CONNECT marşrutu təqdim edir: proksiyə HTTP, hədəfə tunel, sonra hədəf TLS. Əgər yerləşdirmə əvəzində mühit parametrlərindən istifadə edirsə, $mech->env_proxy alternativdir; onları sonradan idxal etmək kodda təyin edilmiş marşrutu dəyişə bilər.
Mechanize ayrı HTTPS proksi mühərriki təqdim etmək əvəzinə LWP::UserAgent şəbəkəsini miras alır:
- Mechanize keçidləri, formaları və cari səhifə davranışını təqdim edir.
- LWP::UserAgent və onun HTTP nəqliyyatı marşrutu seçir və CONNECT-i təşkil edir.
- LWP::Protocol::https HTTPS emalını təqdim edir və bağlantını yüksəldir.
- Net::HTTPS SSL arxa fonu ilə TLS qabiliyyətli soket təqdim edir, müasir konfiqurasiyalarda adətən IO::Socket::SSL.
Qurulmuş SSL arxa fonu özlüyündə proksi seçmir. URL-də orijinal HTTPS host adını saxlayın: CONNECT-in qəbulu həmin saytın sertifikatını yoxlamır.
Köhnə komponentləri saxlayarkən bu sərhədləri fərqləndirin. libwww-perl 6.06 və ayrıca yayılan LWP::Protocol::https 6.06 normal HTTP CONNECT üçün koordinasiyalı düzəlişlər gətirdi. Tək UserAgent versiyası HTTPS modulunu müəyyən etmir. LWP::Protocol::https 6.15 isə TLS aktiv proksi son nöqtələri üçün düzəliş əlavə etdi; onların https:// sxemi hədəf TLS-dən əvvəl proksiyə TLS əlavə edir.
Köhnə Net::SSL/Crypt::SSLeay konfiqurasiyaları əvəzində həmin arxa fonun sənədləşdirilmiş HTTPS_PROXY mühit mexanizmindən istifadə edə bilər. Onun reseptini LWP-nin marşrutlaşdırmaya sahib olduğu müasir IO::Socket::SSL yoluna tətbiq etməyin.
Komponenti seçmək üçün ilk uğursuz mərhələdən istifadə edin: çatışmayan HTTPS həndləyicisi protokol moduluna aiddir; rədd edilmiş CONNECT marşruta, etimadnaməyə və ya siyasətə aiddir; tuneldən sonrakı sertifikat xətası hədəf kimliyinə və etimada aiddir. Bu dəlilin dəstəklədiyi komponenti dəyişərkən yoxlamanı saxlayın.