curl muvaffaqiyatli bo‘lgandan keyin ham shell proksi tekshiruvi nega muvaffaqiyatsiz qoladi
Keyingi proksi tekshiruvlari muvaffaqiyatli bo‘lgandan keyin shell o‘zgaruvchisida eski curl xatosini saqlashdan saqlaning.
Proksi bir marta muvaffaqiyatsiz bo‘ladi. Keyingi so‘rovlar muvaffaqiyatli bo‘ladi, lekin kuzatuvchi yana bir xato haqida xabar berishda davom etadi. Skript kechagi chiqish holatini eslab qolganini tekshiring.
Bu naqsh o‘zgaruvchini faqat curl muvaffaqiyatsiz bo‘lganda yangilaydi:
status=0
# Repeated inside a loop:
curl ... || status=$?
Birinchi noldan farqli natijadan keyin muvaffaqiyatli takrorlash status ni o‘zgartirmasdan qoldiradi. U faqat curl muvaffaqiyatli bo‘lgani uchun nolga aylanmaydi.
Buning o‘rniga joriy buyruq bo‘yicha tarmoqlaning:
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
Manzil va vaqtlar misol uchun. Bu eskirgan o‘zgaruvchini olib tashlaydi; qaysi tiklash harakati mos kelishini hal qilmaydi.
Kuzatuvni tor saqlang. So‘rov proksiga, keyingi marshrutga, manzilga, TLS tekshiruviga va HTTP natijasiga bog‘liq. SOCKS xizmati sog‘lom bo‘lganda ham nishondagi uzilish uni muvaffaqiyatsiz qilishi mumkin. Kutilmagan HTTP 200 sahifasi ham kutilgan tarkibni bermasdan faqat holatga asoslangan tekshiruvdan o‘tishi mumkin.
Boshqariladigan javob shartnomasini tanlang va xato bosqichini saqlang. Har bir noldan farqli curl natijasida proksini qayta ishga tushirish sog‘lom sessiyalarni buzishi mumkin, haqiqiy nishon muammosi esa tegilmagan holda qoladi.