Прокси бир жолу ката кетирет. Кийинки суроолор ийгиликтүү болот, бирок көзөмөлчү дагы бир катаны жарыялай берет. Скрипт кечээки чыгуу абалын эстеп калганын текшериңиз.

Бул үлгү өзгөрмөнү 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 жыйынтыгында проксини кайра баштоо соо сессияларды буза алат, ал эми чыныгы максат маселеси чечилбей калат.

Тектеш макалалар