आणण्यापूर्वी 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 मार्ग, क्रेडेन्शियल्स किंवा धोरणाशी संबंधित आहे; बोगद्यानंतरची प्रमाणपत्र त्रुटी लक्ष्याची ओळख आणि विश्वासाशी संबंधित आहे. त्या पुराव्याला आधार असलेला घटक बदलताना सत्यापन टिकवून ठेवा.

संबंधित लेख