Det är ofta bättre att misslyckas snabbt än att fortsätta vänta i hopp om framgång.
När det gäller att göra webbförfrågningar är timing avgörande. Ingen gillar att vänta oändligt på att en webbsida ska laddas eller att en server svarar. Om du använder curl för att hämta data från webben kommer du att bli glad över att veta att det finns sätt att sätta ett tak för den tid dina förfrågningar tar.
Så här begränsar du tiden för curlbegäran för att se till att du har kontroll över dina datahämtningsoperationer.
Metod 1: Använd alternativet --max-time
Medan kör curl-kommandot, kan du ange -m eller --max-tid möjlighet att sätta en strikt tidsgräns för begäran. Det här alternativet låter dig ange den maximala tiden, i sekunder, som du är villig att låta kommandot ta innan det avslutas med en timeout-felkod (28):
curl --max-timе [sеconds] [URL]
Du kan definiera maximum med decimalprecision, där 0,3 betyder 300 millisekunder, 5,46 är lika med 5 460 millisekunder och 20 betyder 20 sekunder.
Till exempel:
curl -o test.md --max-time 30 https://github.com/test/file1
Detta kommando skickar en begäran till den angivna GitHub-URL: n. Den kommer att spara svarsdata som test.md och avslutas inom en maximal tid på 30 sekunder.
Metod 2: Använda --connect-timeout-alternativet
För att kontrollera den tid curl spenderar på att försöka ansluta till en värd, använd --anslut-timeout alternativ. Detta anger en maximal tidsgräns för curl att slutföra anslutningsstegen, inklusive DNS-sökning och efterföljande TCP-, TLS- eller QUIC-handskakningar.
Om curl inte kan upprätta en anslutning inom den tidsram du anger, kommer den att avslutas med en timeout-felkod (28):
curl --connect-timeout [seconds] [URL]
Till exempel:
curl -o test.md --connect-time 20 https://github.com/test/file
Här hämtar curl-kommandot filen som anges i URL: en, sparar den som test.md och tillämpar en gräns på 20 sekunder för att upprätta anslutningen till servern.
Styr Curl-förfrågningar för snabb hämtning
I en värld där tid är pengar är det en praktisk färdighet att kunna begränsa tiden för curlbegäran. Oavsett om du väljer alternativet --connect-timeout eller --max-time, tar du hand om dina datahämtningsuppgifter. Så, ingen mer oändlig väntan, det är dags att göra effektiva, kontrollerade webbförfrågningar.
Nästa gång du befinner dig i väntan på att en curl-förfrågan ska avslutas, kom ihåg dessa metoder och få curl att fungera på dina villkor.