لایههای پشت یک درخواست HTTPS پروکسیشده با Mechanize
ببینید چگونه Mechanize، ماژول پروتکل HTTPS در LWP و بکاند 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:// یک مسیر CONNECT معمولی برای HTTPS فراهم میکند: 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 که جداگانه توزیع شده، اصلاحات هماهنگ برای CONNECT عادی HTTP معرفی کردند. نسخه UserAgent بهتنهایی ماژول HTTPS را مشخص نمیکند. LWP::Protocol::https 6.15 اصلاحی برای نقاط پایانی پراکسی دارای TLS افزود که طرح https:// آن پیش از TLS مقصد، TLS را به پراکسی اضافه میکند.
پیکربندیهای قدیمیتر Net::SSL/Crypt::SSLeay میتوانند در عوض از مکانیسم محیطی مستندشده HTTPS_PROXY آن بکاند استفاده کنند. دستور آن را روی مسیر مدرن IO::Socket::SSL که LWP مالک مسیریابی است اعمال نکنید.
از نخستین مرحله ناموفق برای انتخاب مؤلفه استفاده کنید: نبودِ گرداننده HTTPS به ماژول پروتکل مربوط است؛ CONNECT ردشده به مسیر، اعتبارنامهها یا سیاست؛ خطای گواهی پس از تونل به هویت و اعتماد مقصد مربوط است. هنگام تغییر مؤلفهای که آن شواهد پشتیبانی میکند، تأیید را حفظ کنید.