ຕັ້ງເສັ້ນທາງໃນວັດຖຸ Mechanize ກ່ອນດຶງ:

use WWW::Mechanize;

my $mech = WWW::Mechanize->new(timeout => 30);
$mech->proxy(
    ['http', 'https'],
    'http://proxy.example.net:8080',
);

ໃຊ້ຕົວຮັບຟັງ HTTP ທີ່ຕັ້ງໃຈໃນຕົວຢ່າງ; ສຳລັບຄຳຮ້ອງທີ່ໄດ້ຮັບອະນຸຍາດໄປຫາເປົ້າໝາຍສາທາລະນະ, ຜູ້ສະໝັກຢູ່ໃນລາຍການ proxy HTTP. ອາຣາຍລະບຸໂຄງຮ່າງປາຍທາງ. ຈຸດສິ້ນສຸດ http:// ໃຫ້ເສັ້ນທາງ CONNECT ທຳມະດາສຳລັບ HTTPS: HTTP ໄປຫາ proxy, ອຸໂມງໄປຫາເປົ້າໝາຍ, ແລ້ວ TLS ຂອງເປົ້າໝາຍ. ຖ້າການຕິດຕັ້ງໃຊ້ການຕັ້ງຄ່າສິ່ງແວດລ້ອມແທນ, $mech->env_proxy ແມ່ນທາງເລືອກ; ການນຳເຂົ້າພວກມັນພາຍຫຼັງອາດປ່ຽນເສັ້ນທາງທີ່ກຳນົດໄວ້ໃນໂຄດ.

Mechanize ສືບທອດເຄືອຂ່າຍ LWP::UserAgent ແທນທີ່ຈະໃຫ້ເຄື່ອງຈັກ proxy HTTPS ແຍກຕ່າງຫາກ:

  • Mechanize ໃຫ້ລິ້ງ, ແບບຟອມ ແລະ ພຶດຕິກຳຂອງໜ້າປັດຈຸບັນ.
  • LWP::UserAgent ແລະ ການຂົນສົ່ງ HTTP ຂອງມັນເລືອກເສັ້ນທາງ ແລະ ຈັດການ CONNECT.
  • LWP::Protocol::https ໃຫ້ການຈັດການ HTTPS ແລະ ຍົກລະດັບການເຊື່ອມຕໍ່.
  • Net::HTTPS ກັບ SSL backend ຂອງມັນໃຫ້ຊ່ອງທີ່ສາມາດໃຊ້ TLS, ໂດຍປົກກະຕິ IO::Socket::SSL ໃນການຕັ້ງຄ່າສະໄໝໃໝ່.

SSL backend ທີ່ຕິດຕັ້ງແລ້ວບໍ່ໄດ້ເລືອກ proxy ດ້ວຍຕົວມັນເອງ. ຮັກສາຊື່ໂຮສ HTTPS ເດີມໄວ້ໃນ URL: ການຍອມຮັບ CONNECT ບໍ່ໄດ້ກວດສອບໃບຢັ້ງຢືນຂອງເວັບໄຊນັ້ນ.

ເມື່ອບຳລຸງຮັກສາອົງປະກອບເກົ່າ, ແຍກເຂດແດນເຫຼົ່ານີ້. libwww-perl 6.06 ແລະ LWP::Protocol::https 6.06 ທີ່ແຈກຢາຍແຍກຕ່າງຫາກໄດ້ນຳສະເໜີການແກ້ໄຂທີ່ປະສານກັນສຳລັບ CONNECT HTTP ປົກກະຕິ. ພຽງແຕ່ເວີຊັນ UserAgent ບໍ່ໄດ້ລະບຸໂມດູນ HTTPS. LWP::Protocol::https 6.15 ໄດ້ເພີ່ມການແກ້ໄຂສຳລັບຈຸດສິ້ນສຸດ proxy ທີ່ເປີດ TLS, ເຊິ່ງໂຄງຮ່າງ https:// ຂອງພວກມັນເພີ່ມ TLS ໃສ່ proxy ກ່ອນ TLS ຂອງເປົ້າໝາຍ.

ການຕັ້ງຄ່າ Net::SSL/Crypt::SSLeay ທີ່ເກົ່າກວ່າສາມາດໃຊ້ກົນໄກສິ່ງແວດລ້ອມ HTTPS_PROXY ທີ່ເອກະສານໄວ້ຂອງ backend ນັ້ນແທນ. ຢ່ານຳສູດຂອງມັນໄປໃຊ້ກັບເສັ້ນທາງ IO::Socket::SSL ສະໄໝໃໝ່ ທີ່ LWP ຄຸ້ມຄອງການກຳນົດເສັ້ນທາງ.

ໃຊ້ຂັ້ນຕອນທຳອິດທີ່ລົ້ມເຫຼວເພື່ອເລືອກອົງປະກອບ: ຕົວຈັດການ HTTPS ທີ່ຂາດກ່ຽວກັບໂມດູນໂປຣໂຕຄອນ; CONNECT ທີ່ຖືກປະຕິເສດກ່ຽວກັບເສັ້ນທາງ, ຂໍ້ມູນຢືນຢັນ ຫຼື ນະໂຍບາຍ; ຂໍ້ຜິດພາດໃບຢັ້ງຢືນຫຼັງອຸໂມງກ່ຽວກັບຕົວຕົນ ແລະ ຄວາມໄວ້ວາງໃຈຂອງເປົ້າໝາຍ. ຮັກສາການກວດສອບໄວ້ເມື່ອທ່ານປ່ຽນອົງປະກອບທີ່ຫຼັກຖານນັ້ນສະໜັບສະໜູນ.

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ