curl сәтті болғаннан кейін shell прокси тексерісі неге қате болып қалады
Кейінгі прокси тексерістері сәтті болғаннан кейін shell айнымалысында ескі curl қатесін сақтаудан аулақ болыңыз.
Прокси бір рет қате береді. Кейінгі сұраулар сәтті орындалады, бірақ бақылаушы тағы бір қате туралы хабарлай береді. Скрипт кешегі шығу күйін есте сақтағанын тексеріңіз.
Бұл үлгі айнымалыны тек 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
Мекенжай мен уақыттар мысал ретінде берілген. Бұл ескірген айнымалыны жояды; қандай қалпына келтіру әрекеті орынды екенін шешпейді.
Бақылауды тар ұстаңыз. Сұрау проксиге, келесі маршрутқа, мақсатқа, TLS тексеруіне және HTTP нәтижесіне тәуелді. Мақсаттағы үзіліс SOCKS қызметі сау болған кезде оны сәтсіз ете алады. Күтпеген HTTP 200 беті де күтілетін мазмұнды бермей-ақ тек күйге негізделген тексеруден өте алады.
Бақыланатын жауап шартын таңдап, қате кезеңін сақтаңыз. Әрбір нөлге тең емес curl нәтижесінде проксиді қайта іске қосу сау сессияларды бұзуы мүмкін, ал нақты мақсат мәселесі шешілмей қалады.