Zaman Aşımları ve Yeniden Denemeler
Coddy'nin Terminal ile Ağ İletişimi kursunda ders 45 / 47.
Varsayılan olarak curl çok uzun süre bekler. Bir betikte bu bir hatadır: erişilemeyen tek bir ana makine, biri fark edene kadar işinizin takılı kalmasına neden olur.
curl -s --max-time 5 --connect-timeout 2 URL--connect-timeout, bağlantı kurmak için harcanacak süreyi sınırlar. --max-time, işlemin tamamını sınırlar. Bu sürelerden herhangi birinin aşılması 28 çıkış kodunu verir.
Yeniden denemek, göründüğünden daha fazla dikkat gerektirir. Başarısız bir GET veya PUT isteğini tekrarlamak güvenlidir, çünkü ikisi de idempotenttir. Bir POST isteğini tekrarlamak ikinci bir kayıt oluşturabilir ve zaman aşımı bunun için en kötü durumdur: ilkinin işlenip işlenmediğini hiçbir zaman öğrenemezsiniz.
Bu nedenle okumaları özgürce yeniden deneyin, yazma işlemlerini yeniden denemeden önce düşünün. Zorunda kaldığınızda, idempotency key gibi bunu güvenli hâle getirmenin bir yolunu sunucudan isteyin.
Görev
OrtaAsla yanıtlanmayacak bir isteğe zaman sınırı koyun.
tr?
Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Terminal ile Ağ İletişimi bölümündeki tüm dersler
6curl'u Derinlemesine İnceleme
Başlıkları GörüntülemeYanıtları KaydetmeÖzel BaşlıklarDurum ve Zamanlamacurl Çıkış KodlarıTekrar: curl Bayrakları9Kimlik Doğrulama ve Hata Ayıklama
API Anahtarları ve BearerUser AgentZaman Aşımları ve Yeniden DenemelerBir Hatanın OkunmasıTekrar: Hata AyıklamaKendi başına pratik yap: Terminal playground