प्रॉक्सी किए गए 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 बैकएंड स्वयं प्रॉक्सी नहीं चुनता। URL में मूल HTTPS होस्टनाम रखें: 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 पर्यावरण व्यवस्था का उपयोग कर सकते हैं। उसके नुस्खे को आधुनिक IO::Socket::SSL मार्ग पर लागू न करें, जहाँ LWP रूटिंग का स्वामी है।
घटक चुनने के लिए पहले विफल चरण का उपयोग करें: गुम HTTPS हैंडलर प्रोटोकॉल मॉड्यूल से संबंधित है; अस्वीकृत CONNECT मार्ग, क्रेडेंशियल या नीति से संबंधित है; टनल के बाद का प्रमाणपत्र त्रुटि लक्ष्य की पहचान और विश्वास से संबंधित है। जिस घटक का वह साक्ष्य समर्थन करता है उसे बदलते समय सत्यापन बनाए रखें।