curl sinovi HTTP holati sifatida 000 chiqarsa, u xabar berish uchun yakuniy HTTP javob kodini olmagan bo‘ladi. Sayt 000 nomli haqiqiy HTTP holatini yubormagan.

Xatoni ham qayd eting

POSIX qobig‘i uchun ushbu misol yakuniy HTTP maydonini, CONNECT maydonini va curl jarayonining chiqish kodini chiqaradi:

curl --proxy http://203.0.113.10:8080 --noproxy '' --connect-timeout 5 --max-time 15 --silent --show-error --output /dev/null --write-out 'http=%{http_code} connect=%{http_connect}\n' https://example.com/
result=$?
printf 'curl_exit=%s\n' "$result"

Misoldagi ulanish nuqtasini o‘z HTTP proksingiz yoki HTTP proksi ro‘yxatidan olingan nomzod bilan almashtiring. show-error yoqilgan holda qolsin: xato xabari ko‘pincha eng foydali qismdir. CONNECT maydoni tunnel ishlatilganda ahamiyatli; u saytning ikkinchi yakuniy holati emas.

Qiymatlarni birgalikda o‘qing

  • Proksiga ulanish muvaffaqiyatsiz tugasa, HTTP maydoni 000 bo‘lib qolishi mumkin.
  • Javob olinmasidan kutish vaqti tugashi ham shunday natija berishi mumkin.
  • Muvaffaqiyatli CONNECT javobidan keyin TLS xatosi yuz bersa, connect=200 va http=000 ko‘rinishi mumkin.
  • Saytning 403 kabi to‘liq javobi boshqa holat: tekshirish uchun haqiqiy HTTP javobi mavjud.

Aniq chiqish kodi va xabar sababni toraytiradi. Xato proksini topishda, uning portiga ulanishda, tunnelni kelishishda yoki manzilni tekshirishda yuz berganini aniqlang.

Har bir natijani faqat holatni tekshirishga keltirmang

Faqat http_code saqlaydigan skript transport xatosini yo‘qotadi. Jarayon natijasini va maxfiy ma’lumotlardan tozalangan xato xabarini ham saqlang. Aksincha, mos fail parametridan foydalanmasangiz, sayt xato holatini qaytarganida ham curl uzatishni muvaffaqiyatli yakunlashi mumkin. HTTP javobi va mijozning bajarilish natijasi turli savollarga javob beradi.

TLS tekshiruvini o‘chirish yoki tasodifiy sarlavha qo‘shish orqali 000 ni tuzatishga urinmang. Avval qaysi amal yakuniy javobga yetib bormaganini aniqlang.

O'xshash maqolalar