IO::Socket::Socks ສາມາດພິມການແລກປ່ຽນ SOCKS ເມື່ອການເຊື່ອມຕໍ່ລົ້ມເຫລວ. ລະບຸ proxy, ປາຍທາງ ແລະ ຕົວເລືອກກວດສອບຢ່າງຊັດເຈນ:

use IO::Socket::Socks;

my $socket = IO::Socket::Socks->new(
    ProxyAddr   => 'proxy.example',
    ProxyPort   => 1080,
    ConnectAddr => 'www.example.com',
    ConnectPort => 80,
    SocksVersion => 5,
    SocksDebug  => 1,
    Timeout     => 10,
) or die $SOCKS_ERROR;

$socket->close();

ໂມດູນໄດ້ອະທິບາຍ SocksDebug ວ່າເປັນການສະແດງການຈະລາຈອນ SOCKS ໃນຮູບແບບທີ່ເນັ້ນໂປຣໂຕຄອນ. ໃຊ້ມັນເພື່ອເບິ່ງວ່າການເຈລະຈາໄປໄດ້ໄກປານໃດ ແລະ ກວດເບິ່ງລະຫັດຄວາມຜິດພາດ SOCKS ທີ່ສົ່ງກັບມາ.

ProxyAddr ແລະ ProxyPort ກຳນົດຕົວກາງ. ທີ່ຢູ່ທີ່ບໍ່ມີການພິສູດຕົວຈາກ ລາຍຊື່ proxy SOCKS5 ສາມາດຕື່ມຊ່ອງເຫຼົ່ານັ້ນສຳລັບການທົດສອບ HTTP ສາທາລະນະທີ່ອະນຸຍາດ. ConnectAddr ແລະ ConnectPort ກຳນົດບໍລິການທີ່ຕ້ອງເຊື່ອມຕໍ່. ຄວາມຜິດພາດໃນການໄປຮອດຕົວຮັບຟັງ ແລະ ການຕອບສະໜອງການເຊື່ອມຕໍ່ SOCKS ແບບປະຕິເສດ ເປັນການສັງເກດທີ່ແຕກຕ່າງກັນ.

ສຳລັບ proxy ທີ່ຕ້ອງການການພິສູດຕົວຊື່ຜູ້ໃຊ້/ລະຫັດຜ່ານ SOCKS5, ຊ່ອງຂອງຕົວສ້າງທີ່ມີເອກະສານປະກອບມີ AuthType => 'userpass', Username ແລະ Password.

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

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