Проксигоор дамжин өнгөрөх Mechanize HTTPS хүсэлтийн ард байгаа давхаргууд
Mechanize, LWP-ийн HTTPS протоколын модуль, SSL backend нар нэг 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 backend-тэйгээр TLS чадвартай сокет өгдөг, орчин үеийн тохиргоонд ихэвчлэн IO::Socket::SSL.
Суулгасан SSL backend өөрөө прокси сонгодоггүй. Анхны 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 тохиргоонууд оронд нь тухайн backend-ийн баримтжуулсан HTTPS_PROXY орчны механизмыг ашиглаж болно. Түүний жорыг LWP маршрутлалтыг эзэмшдэг орчин үеийн IO::Socket::SSL замд хэрэглэж болохгүй.
Бүрэлдэхүүн хэсгийг сонгохын тулд эхний бүтэлгүйтсэн үе шатыг ашиглана уу: дутуу HTTPS зохицуулагч нь протоколын модульд хамаарна; татгалзсан CONNECT нь маршрут, итгэмжлэл эсвэл бодлогод хамаарна; туннелийн дараах гэрчилгээний алдаа нь зорилтын таних тэмдэг, итгэлцэлд хамаарна. Тэр нотолгоонд тулгуурласан бүрэлдэхүүн хэсгийг өөрчлөхдөө баталгаажуулалтыг хадгална уу.