Proxy ລົ້ມເຫຼວໜຶ່ງເທື່ອ. ຄຳຮ້ອງຕໍ່ໄປສຳເລັດ, ແຕ່ຕົວຕິດຕາມຍັງປະກາດຄວາມລົ້ມເຫຼວອີກ. ກວດເບິ່ງວ່າ script ຈື່ສະຖານະອອກຂອງມື້ວານນີ້ຫຼືບໍ່.

ຮູບແບບນີ້ອັບເດດຕົວແປພຽງແຕ່ເມື່ອ curl ລົ້ມເຫຼວ:

status=0
# Repeated inside a loop:
curl ... || status=$?

ຫຼັງຈາກຜົນທີ່ບໍ່ແມ່ນສູນຄັ້ງທຳອິດ, ການວົນຊ້ຳທີ່ສຳເລັດຈະປ່ອຍ status ໄວ້ບໍ່ປ່ຽນ. ມັນບໍ່ກາຍເປັນສູນພຽງເພາະ curl ສຳເລັດ.

ໃຫ້ແຍກສາຂາຕາມຄຳສັ່ງປັດຈຸບັນແທນ:

if curl --proxy socks5h://127.0.0.1:1080 --noproxy '' \
    --fail --silent --show-error --connect-timeout 3 --max-time 10 \
    https://health.example/ >/dev/null; then
    echo "check succeeded"
else
    echo "check failed"
fi

ທີ່ຢູ່ ແລະ ເວລາເປັນຕົວຢ່າງ. ສິ່ງນີ້ລຶບຕົວແປເກົ່າ; ມັນບໍ່ໄດ້ຕັດສິນວ່າການຟື້ນຟູໃດເໝາະສົມ.

ຮັກສາການສັງເກດໃຫ້ແຄບ. ຄຳຮ້ອງຂຶ້ນກັບ proxy, ເສັ້ນທາງຕໍ່ໄປ, ປາຍທາງ, ການກວດສອບ TLS ແລະ ຜົນ HTTP. ການຂັດຂ້ອງທີ່ປາຍທາງອາດເຮັດໃຫ້ມັນລົ້ມເຫຼວ ໃນຂະນະທີ່ບໍລິການ SOCKS ຍັງດີ. ໜ້າ HTTP 200 ທີ່ບໍ່ຄາດຄິດກໍອາດຜ່ານການກວດສອບທີ່ອີງໃສ່ສະຖານະພຽງຢ່າງດຽວ ໂດຍບໍ່ສະໜອງ ເນື້ອຫາທີ່ຄາດຫວັງ.

ເລືອກສັນຍາການຕອບສະໜອງທີ່ຄວບຄຸມ ແລະ ຮັກສາຂັ້ນຕອນຄວາມລົ້ມເຫຼວ. ການເລີ່ມ proxy ຄືນໃໝ່ທຸກຜົນ curl ທີ່ບໍ່ແມ່ນສູນອາດລົບກວນເຊສຊັນທີ່ດີ ໃນຂະນະທີ່ບັນຫາປາຍທາງທີ່ແທ້ຈິງຍັງບໍ່ໄດ້ຮັບການແກ້ໄຂ.

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