Det er ofte bedre at fejle hurtigt end at blive ved med at vente i håbet om succes.
Når det kommer til at lave webanmodninger, er timing afgørende. Ingen kan lide at vente i det uendelige på, at en webside indlæses, eller at en server svarer. Hvis du bruger curl til at hente data fra nettet, vil du være glad for at vide, at der er måder, hvorpå du kan sætte et loft over den tid, dine anmodninger tager.
Sådan begrænser du krølleanmodningstiden for at sikre, at du har kontrol over dine datahentningsoperationer.
Metode 1: Brug af --max-time indstillingen
Mens kører curl-kommandoen, kan du angive -m eller --max-tid mulighed for at sætte en streng tidsbegrænsning på anmodningen. Denne mulighed lader dig angive den maksimale tid, i sekunder, som du er villig til at lade kommandoen tage, før den afsluttes med en timeout-fejlkode (28):
curl --max-timе [sеconds] [URL]
Du kan definere maksimum med decimalpræcision, hvor 0,3 betyder 300 millisekunder, 5,46 er lig med 5.460 millisekunder og 20 betyder 20 sekunder.
For eksempel:
curl -o test.md --max-time 30 https://github.com/test/file1
Denne kommando sender en anmodning til den angivne GitHub URL. Den gemmer svardataene som test.md og afsluttes inden for en maksimal tid på 30 sekunder.
Metode 2: Brug af --connect-timeout-indstillingen
For at kontrollere den tid, curl bruger på at forsøge at oprette forbindelse til en vært, skal du bruge -- Connect-timeout mulighed. Dette angiver en maksimal tidsgrænse for curl for at fuldføre forbindelsestrinnene, inklusive DNS-opslag og efterfølgende TCP-, TLS- eller QUIC-håndtryk.
Hvis curl ikke kan etablere en forbindelse inden for den tidsramme, du angiver, afsluttes den med en timeout-fejlkode (28):
curl --connect-timeout [seconds] [URL]
For eksempel:
curl -o test.md --connect-time 20 https://github.com/test/file
Her henter curl-kommandoen filen angivet i URL'en, gemmer den som test.md og håndhæver en 20-sekunders grænse for at etablere forbindelsen til serveren.
Styr Curl-anmodninger om hurtig hentning
I en verden, hvor tid er penge, er det en praktisk færdighed at kunne begrænse krølleanmodningstiden. Uanset om du vælger --connect-timeout eller --max-time, tager du ansvaret for dine datahentningsopgaver. Så ikke mere endeløs ventetid, det er tid til at lave effektive, kontrollerede webanmodninger.
Næste gang du venter på, at en krølleanmodning er færdig, så husk disse metoder og få krøllen til at fungere på dine præmisser.