Hur man begränsar tiden för curl-förfrågningar
När det gäller att göra webbförfrågningar är timing avgörande. Ingen gillar att vänta еndlеssly för en wеbpagе att ladda eller en sеrvеr att svara. Om du använder curl för att hämta data från webben kommer det att glädja dig att veta att det finns sätt att sätta ett tak på hur lång tid dina förfrågningar tar.
För att behålla kontrollen över dina datahämtningsaktiviteter är det tillrådligt att införa en begränsning av hur länge cURL-förfrågningar får pågå. Detta kan uppnås genom att ange en specifik tidsgräns för varje enskild begäran och se till att den inte överskrider denna gräns. På så sätt kan man effektivt reglera den tid som går åt till att hämta data via cURL och undvika potentiella problem som uppstår på grund av långa dataöverföringstider eller andra relaterade problem.
Metod 1: Använda alternativet -max-time
När kommandot curl
körs kan man använda alternativet -m
eller --max-time
för att införa en strikt tidsbegränsning på begäran. Denna konfiguration gör det möjligt att ange den maximala tid, i sekunder, som kommandot får köras innan det avbryts plötsligt och ger en exitkod som anger ett timeout-fel (28).
curl --max-timе [sеconds] [URL]
Decimalprecision gör det möjligt att ange ett maximalt värde med större noggrannhet än vad heltalsvärden skulle tillåta. Till exempel motsvarar en maximal tidsgräns på 0,3 sekunder 300 millisekunder, medan en maximal tidsgräns på 5,46 sekunder motsvarar 5 460 millisekunder. På samma sätt kan en maximal tidsgräns på 20 sekunder definieras exakt som 20 sekunder.
Till exempel:
curl -o test.md --max-time 30 https://github.com/test/file1
Denna instruktion skickar en förfrågan till den angivna GitHub-länken. Svarsinformationen sparas i test.md, och operationen avslutas inom en maximal tid på trettio sekunder.
Metod 2: Använda alternativet -connect-timeout
Använd alternativet --connect-timeout
för att reglera hur länge cURL ska försöka upprätta en anslutning till en viss värd. Denna parameter sätter ett tak för den totala tid som curling kan ta sig igenom de olika steg som krävs för att skapa en lyckad anslutning, vilket omfattar följande processer:
Om biblioteket libcurl inte lyckas skapa en anslutning inom den förutbestämda tidsgränsen, genererar det en felkod som motsvarar en timeout (28).
curl --connect-timeout [seconds] [URL]
Exempel:
curl -o test.md --connect-time 20 https://github.com/test/file
Med hjälp av curl-kommandot hämtar denna implementering innehållet i den angivna URL:en och lagrar det som en fil med namnet “test.md”. Dessutom införs en strikt begränsning på tjugo sekunder för den tid som krävs för att skapa en anslutning till fjärrservern.
Kontrollera Curl-förfrågningar för snabb hämtning
I dagens snabba miljö, där produktivitet och effektivitet är av största vikt, kan det vara mycket fördelaktigt att kunna hantera varaktigheten för cURL-förfrågningar. Genom att använda antingen alternativet “-connect-timeout” eller “-max-time” får man kontroll över sin datainhämtning. Följaktligen kommer det inte att finnas några fler bortkastade ögonblick, eftersom strömlinjeformade och välreglerade webbförfrågningar blir den nya normen.
När du nästa gång står inför den tråkiga uppgiften att vänta på att en curl-förfrågan ska slutföras, överväg att använda de tekniker som beskrivs här för att ta kontroll över processen och få en känsla av mening med en annars vardaglig uppgift.