ფენები პროქსით გამავალი Mechanize HTTPS მოთხოვნის მიღმა
ნახეთ, როგორ თანამშრომლობენ Mechanize, LWP-ის HTTPS პროტოკოლის მოდული და SSL backend ერთი HTTPS მოთხოვნის მარშრუტიზაციისთვის, გვირაბიზაციისთვის და შემოწმებისთვის.
დააყენეთ მარშრუტი Mechanize ობიექტზე მიღებამდე:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
გამოიყენეთ მაგალითში განკუთვნილი HTTP მსმენელი; დაშვებული საჯარო სამიზნეების მოთხოვნებისთვის კანდიდატები HTTP პროქსი სიაში არიან. მასივი ასახელებს სამიზნე სქემებს. http:// საბოლოო წერტილი HTTPS-ისთვის ჩვეულებრივ CONNECT მარშრუტს იძლევა: 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 კონფიგურაციებს შეუძლიათ ნაცვლად გამოიყენონ ამ backend-ის დოკუმენტირებული HTTPS_PROXY გარემოს მექანიზმი. ნუ გამოიყენებთ მის რეცეპტს თანამედროვე IO::Socket::SSL გზაზე, სადაც LWP ფლობს მარშრუტიზაციას.
გამოიყენეთ პირველი წარუმატებელი ეტაპი კომპონენტის ასარჩევად: დაკარგული HTTPS დამმუშავებელი პროტოკოლის მოდულს ეხება; უარყოფილი CONNECT ეხება მარშრუტს, რწმუნებულებს ან პოლიტიკას; გვირაბის შემდგომი სერტიფიკატის შეცდომა ეხება სამიზნის იდენტობას და ნდობას. შეინარჩუნეთ შემოწმება, სანამ ცვლით იმ კომპონენტს, რომელსაც ეს მტკიცებულება უჭერს მხარს.