Zergatik shell-eko proxy egiaztapenak huts egiten duen curl-ek arrakasta izan ondoren
Saihestu curl-en huts zahar bat shell aldagaian mantentzea geroagoko proxy egiaztapenek arrakasta izan ondoren.
Proxyak behin huts egiten du. Geroagoko eskaerek arrakasta dute, baina zaintzaileak huts berri bat iragartzen jarraitzen du. Egiaztatu scriptak atzoko irteera-egoera gogoratu zuen.
Eredu honek aldagaia curl-ek huts egiten duenean soilik eguneratzen du:
status=0
# Repeated inside a loop:
curl ... || status=$?
Lehen emaitza ez-nulua lortu ondoren, iterazio arrakastatsu batek status ukitugabe uzten du. Ez da zero bihurtzen curl-ek arrakasta izan duelako soilik.
Horren ordez, egungo komandoan oinarrituta adarkatu:
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
Helbidea eta denborak adibide dira. Honek aldagai zaharra kentzen du; ez du erabakitzen zein berreskuratze-ekintza den egokia.
Mantendu behaketa estu. Eskaerak proxya, ondorengo ibilbidea, helmuga, TLS egiaztapena eta HTTP emaitza ditu mendeko. Helburuko eten batek huts eragin dezake SOCKS zerbitzua osasuntsu dagoen bitartean. Ustekabeko HTTP 200 orrialde batek ere status hutsean oinarritutako egiaztapena gaindi dezake espero den edukia eman gabe.
Aukeratu kontrolatutako erantzun-kontratu bat eta mantendu huts-fasea. curl emaitza ez-nulu bakoitzean proxya berrabiarazteak saio osasuntsuak asalda ditzake, benetako helmugako arazoa ukitu gabe utziz.