Bigo ang proxy nang isang beses. Nagtagumpay ang mga sumunod na kahilingan, ngunit patuloy pa ring nagpapahayag ng isa pang pagkabigo ang tagapagbantay. Tingnan kung naalala ng script ang kalagayan ng paglabas kahapon.

Binabago lamang ng pattern na ito ang variable kapag bigo ang curl:

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

Pagkatapos ng unang di-sero na resulta, iniiwan ng matagumpay na pag-ulit ang status na hindi ginalaw. Hindi ito nagiging sero dahil lamang nagtagumpay ang curl.

Sa halip, magsanga sa kasalukuyang utos:

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

Ang address at mga oras ay halimbawa lamang. Inaalis nito ang lumang variable; hindi nito pinagpapasyahan kung aling hakbang sa pagbangon ang angkop.

Panatilihing makitid ang pagmamasid. Nakadepende ang kahilingan sa proxy, sa susunod na ruta, sa destinasyon, sa pagpapatunay ng TLS at sa kinalabasan ng HTTP. Maaaring mabigo ito dahil sa pagkawala ng target habang malusog ang serbisyo ng SOCKS. Maaari ring makalusot ang isang di-inaasahang pahina ng HTTP 200 sa pagsusuring nakabatay lamang sa kalagayan nang hindi ibinibigay ang inaasahang nilalaman.

Pumili ng kontroladong kontrata ng tugon at panatilihin ang yugto ng pagkabigo. Ang muling paglulunsad ng proxy sa bawat di-sero na resulta ng curl ay maaaring makagambala sa malulusog na sesyon habang nananatiling hindi naayos ang tunay na problema sa destinasyon.

Kaugnay na mga artikulo