Başarı umuduyla beklemeye devam etmektense çabuk başarısız olmak çoğu zaman daha iyidir.
Web isteklerinde zamanlama çok önemlidir. Hiç kimse bir web sayfasının yüklenmesini veya bir sunucunun yanıt vermesini sonsuza kadar beklemekten hoşlanmaz. Web'den veri almak için curl kullanıyorsanız isteklerinizin alacağı süreye sınır koymanın yolları olduğunu bilmek sizi memnun edecektir.
Veri alma işlemlerinizin kontrolünü elinizde tuttuğunuzdan emin olmak için kıvrılma isteği süresini nasıl sınırlayacağınız aşağıda açıklanmıştır.
Yöntem 1: --max-time Seçeneğinin Kullanılması
Sırasında curl komutunu çalıştırma, belirtebilirsiniz -M veya --max-time istek üzerine katı bir zaman sınırı belirleme seçeneği. Bu seçenek, komutun bir zaman aşımı hata kodu (28) ile çıkmadan önce almasına izin vermek istediğiniz maksimum süreyi saniye cinsinden belirtmenize olanak tanır:
curl --max-timе [sеconds] [URL]
Maksimum değeri ondalık hassasiyetle tanımlayabilirsiniz; 0,3, 300 milisaniye, 5,46, 5.460 milisaniyeye ve 20, 20 saniye anlamına gelir.
Örneğin:
curl -o test.md --max-time 30 https://github.com/test/file1
Bu komut, sağlanan GitHub URL'sine bir istek gönderir. Yanıt verilerini test.md olarak kaydedecek ve maksimum 30 saniye içinde tamamlanacaktır.
Yöntem 2: --connect-timeout Seçeneğini Kullanma
Curl'ün bir ana bilgisayara bağlanmaya çalışırken harcadığı zamanı kontrol etmek için --Bağlantı zaman aşımı seçenek. Bu, curl'un aşağıdakiler de dahil olmak üzere bağlantı adımlarını tamamlaması için maksimum süre sınırını belirler: DNS araması ve ardından gelen TCP, TLS veya QUIC anlaşmaları.
Eğer curl belirttiğiniz zaman dilimi içinde bağlantı kuramazsa zaman aşımı hata koduyla (28) çıkış yapar:
curl --connect-timeout [seconds] [URL]
Örneğin:
curl -o test.md --connect-time 20 https://github.com/test/file
Burada curl komutu, URL'de belirtilen dosyayı alır, test.md olarak kaydeder ve sunucuyla bağlantı kurmak için 20 saniyelik bir sınır uygular.
Hızlı Erişim için Curl İsteklerini Kontrol Etme
Vaktin nakit olduğu bir dünyada, kıvrılma isteği süresini sınırlandırabilmek kullanışlı bir beceridir. --connect-timeout veya --max-time seçeneğini seçerseniz, veri getirme görevlerinizin sorumluluğunu üstlenirsiniz. Artık sonsuz beklemeye gerek yok; verimli, kontrollü web istekleri oluşturmanın zamanı geldi.
Bir dahaki sefere kendinizi bir curl isteğinin bitmesini beklerken bulursanız, bu yöntemleri hatırlayın ve curl'un kendi şartlarınıza göre çalışmasını sağlayın.