Često je bolje brzo doživjeti neuspjeh nego nastaviti čekati u nadi za uspjehom.
Kada je riječ o izradi web zahtjeva, vrijeme je ključno. Nitko ne voli beskrajno čekati da se web-stranica učita ili da poslužitelj odgovori. Ako koristite curl za dohvaćanje podataka s weba, bit će vam drago znati da postoje načini da ograničite vrijeme potrebno za zahtjeve.
Evo kako ograničiti vrijeme zahtjeva za curl kako biste bili sigurni da imate kontrolu nad svojim operacijama dohvaćanja podataka.
Metoda 1: Korištenje opcije --max-time
Dok pokretanje naredbe curl, možete odrediti -m ili --maksimalno vrijeme mogućnost postavljanja strogog vremenskog ograničenja za zahtjev. Ova vam opcija omogućuje da odredite maksimalno vrijeme, u sekundama, koje ste voljni pustiti da naredba prođe prije nego što izađe s kodom pogreške isteka vremena (28):
curl --max-timе [sеconds] [URL]
Maksimum možete definirati s decimalnom preciznošću, gdje 0,3 znači 300 milisekundi, 5,46 je jednako 5460 milisekundi, a 20 znači 20 sekundi.
Na primjer:
curl -o test.md --max-time 30 https://github.com/test/file1
Ova naredba šalje zahtjev na navedeni GitHub URL. Spremit će podatke o odgovoru kao test.md i završiti unutar maksimalnog vremena od 30 sekundi.
Metoda 2: Korištenje opcije --connect-timeout
Za kontrolu vremena koje curl troši pokušavajući se spojiti na glavno računalo, koristite --istek vremena za povezivanje opcija. Ovo postavlja maksimalno vremensko ograničenje za curl da dovrši korake povezivanja, uključujući DNS traženje i naknadna TCP, TLS ili QUIC rukovanja.
Ako curl ne može uspostaviti vezu unutar vremenskog okvira koji navedete, izaći će s kodom pogreške vremenskog ograničenja (28):
curl --connect-timeout [seconds] [URL]
Na primjer:
curl -o test.md --connect-time 20 https://github.com/test/file
Ovdje naredba curl dohvaća datoteku navedenu u URL-u, sprema je kao test.md i nameće ograničenje od 20 sekundi za uspostavljanje veze s poslužiteljem.
Kontrolirajte Curl zahtjeve za brzo vraćanje
U svijetu u kojem je vrijeme novac, mogućnost ograničenja vremena zahtjeva za kovrčama zgodna je vještina. Bilo da odaberete opciju --connect-timeout ili --max-time, preuzimate kontrolu nad svojim zadacima dohvaćanja podataka. Dakle, nema više beskonačnog čekanja, vrijeme je za izradu učinkovitih, kontroliranih web zahtjeva.
Sljedeći put kada čekate da zahtjev za curl završi, sjetite se ovih metoda i neka curl radi pod vašim uvjetima.