ప్రాక్సీ చేయబడిన Mechanize HTTPS అభ్యర్థన వెనుక ఉన్న పొరలు
Mechanize, LWP యొక్క HTTPS ప్రోటోకాల్ మాడ్యూల్ మరియు SSL బ్యాకెండ్ ఒక 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 ప్రత్యేక HTTPS ప్రాక్సీ ఇంజిన్ను అందించడానికి బదులుగా LWP::UserAgent నెట్వర్కింగ్ను వారసత్వంగా పొందుతుంది:
- Mechanize లింకులు, ఫారమ్లు మరియు ప్రస్తుత పేజీ ప్రవర్తనను అందిస్తుంది.
- LWP::UserAgent మరియు దాని HTTP రవాణా మార్గాన్ని ఎంచుకుని CONNECTను ఏర్పాటు చేస్తాయి.
- LWP::Protocol::https HTTPS నిర్వహణను అందించి కనెక్షన్ను అప్గ్రేడ్ చేస్తుంది.
- Net::HTTPS తన SSL బ్యాకెండ్తో TLS సామర్థ్యం ఉన్న సాకెట్ను అందిస్తుంది, ఆధునిక కాన్ఫిగరేషన్లలో సాధారణంగా IO::Socket::SSL.
ఇన్స్టాల్ చేసిన SSL బ్యాకెండ్ తనంతట తాను ప్రాక్సీని ఎంచుకోదు. అసలు 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 కాన్ఫిగరేషన్లు బదులుగా ఆ బ్యాకెండ్ యొక్క నమోదిత HTTPS_PROXY పర్యావరణ యంత్రాంగాన్ని ఉపయోగించవచ్చు. LWP రూటింగ్ను కలిగి ఉన్న ఆధునిక IO::Socket::SSL మార్గానికి దాని వంటకాన్ని వర్తింపజేయవద్దు.
భాగాన్ని ఎంచుకోవడానికి మొదటి విఫల దశను ఉపయోగించండి: లేని HTTPS హ్యాండ్లర్ ప్రోటోకాల్ మాడ్యూల్కు సంబంధించినది; తిరస్కరించబడిన CONNECT మార్గం, ఆధారాలు లేదా విధానానికి సంబంధించినది; సొరంగం తర్వాత సర్టిఫికేట్ లోపం లక్ష్యం గుర్తింపు మరియు విశ్వాసానికి సంబంధించినది. ఆ ఆధారం మద్దతు ఇచ్చే భాగాన్ని మార్చేటప్పుడు ధృవీకరణను నిలబెట్టుకోండి.