Tabaka zilizo nyuma ya ombi la Mechanize HTTPS kupitia proksi
Tazama jinsi Mechanize, moduli ya itifaki ya HTTPS ya LWP na backend ya SSL zinashirikiana kuelekeza njia, kutengeneza handaki na kuthibitisha ombi moja la HTTPS.
Weka njia kwenye kitu cha Mechanize kabla ya kuleta:
use WWW::Mechanize;
my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
['http', 'https'],
'http://proxy.example.net:8080',
);
Tumia kisikilizaji cha HTTP kilichokusudiwa kwenye mfano; kwa maombi yanayoruhusiwa kwa malengo ya umma, wagombea wako kwenye orodha ya proksi za HTTP. Safu inataja skimu za lengo. Kiishio http:// kinatoa njia ya kawaida ya CONNECT kwa HTTPS: HTTP hadi proksi, handaki hadi lengo, kisha TLS ya lengo. Ikiwa usambazaji unatumia mipangilio ya mazingira badala yake, $mech->env_proxy ndiyo mbadala; kuziingiza baadaye kunaweza kubadilisha njia iliyowekwa kwenye msimbo.
Mechanize hurithi mtandao wa LWP::UserAgent badala ya kutoa injini tofauti ya proksi ya HTTPS:
- Mechanize hutoa viungo, fomu na tabia ya ukurasa wa sasa.
- LWP::UserAgent na usafirishaji wake wa HTTP huchagua njia na kupanga CONNECT.
- LWP::Protocol::https hutoa ushughulikiaji wa HTTPS na kuboresha muunganisho.
- Net::HTTPS pamoja na backend yake ya SSL hutoa soketi yenye uwezo wa TLS, kwa kawaida IO::Socket::SSL katika mipangilio ya kisasa.
Backend ya SSL iliyosakinishwa haichagui proksi yenyewe. Weka jina asili la mwenyeji wa HTTPS kwenye URL: kukubali CONNECT hakuthibitishi cheti cha tovuti hiyo.
Unapodumisha vipengele vya zamani, tofautisha mipaka hii. libwww-perl 6.06 na LWP::Protocol::https 6.06 inayosambazwa kando zilianzisha marekebisho yaliyoratibiwa kwa CONNECT ya kawaida ya HTTP. Toleo la UserAgent peke yake halitambui moduli ya HTTPS. LWP::Protocol::https 6.15 iliongeza marekebisho kwa vituo vya proksi vinavyowezesha TLS, ambavyo skimu yao https:// huongeza TLS kwenye proksi kabla ya TLS ya lengo.
Mipangilio ya zamani ya Net::SSL/Crypt::SSLeay inaweza badala yake kutumia utaratibu wa mazingira HTTPS_PROXY ulioandikwa wa backend hiyo. Usitumie kichocheo chake kwenye njia ya kisasa ya IO::Socket::SSL, ambapo LWP inamiliki uelekezaji.
Tumia hatua ya kwanza iliyoshindwa kuchagua kipengele: kishughulikiaji cha HTTPS kinachokosekana kinahusu moduli ya itifaki; CONNECT iliyokataliwa inahusu njia, vitambulisho au sera; hitilafu ya cheti baada ya handaki inahusu utambulisho na uaminifu wa lengo. Dumisha uthibitishaji unapobadilisha kipengele kinachoungwa mkono na ushahidi huo.