Dažnai geriau greitai patirti nesėkmę, nei toliau laukti, tikintis sėkmės.
Kai reikia pateikti žiniatinklio užklausas, laikas yra labai svarbus. Niekas nemėgsta be galo laukti, kol tinklalapis bus įkeltas arba serveris atsakys. Jei naudojate curl duomenims iš žiniatinklio gauti, jums bus malonu žinoti, kad yra būdų, kaip apriboti užklausų pateikimo laiką.
Štai kaip apriboti kreipimosi užklausos laiką, kad galėtumėte kontroliuoti duomenų gavimo operacijas.
1 būdas: naudokite parinktį --max-time
Nors paleisti curl komandą, galite nurodyti -m arba --maksimalus laikas galimybė nustatyti griežtą prašymo terminą. Ši parinktis leidžia nurodyti maksimalų laiką sekundėmis, per kurį norite leisti komandai, kol ji išeina su skirtojo laiko klaidos kodu (28):
curl --max-timе [sеconds] [URL]
Maksimumą galite apibrėžti dešimtainiu tikslumu, kur 0,3 reiškia 300 milisekundžių, 5,46 – 5 460 milisekundžių, o 20 – 20 sekundžių.
Pavyzdžiui:
curl -o test.md --max-time 30 https://github.com/test/file1
Ši komanda siunčia užklausą pateiktu „GitHub“ URL. Jis išsaugos atsakymo duomenis kaip test.md ir baigsis ne vėliau kaip per 30 sekundžių.
2 būdas: naudokite parinktį --connect-timeout
Norėdami kontroliuoti laiką, kurį „curl“ praleidžia bandant prisijungti prie pagrindinio kompiuterio, naudokite --Prisijungimo laikas variantas. Tai nustato maksimalų laiko limitą, per kurį garbanos turi atlikti prisijungimo veiksmus, įskaitant DNS paieška ir vėlesni TCP, TLS arba QUIC rankų paspaudimai.
Jei curl negali užmegzti ryšio per nurodytą laikotarpį, jis išeis su skirtojo laiko klaidos kodu (28):
curl --connect-timeout [seconds] [URL]
Pavyzdžiui:
curl -o test.md --connect-time 20 https://github.com/test/file
Čia komanda curl nuskaito URL nurodytą failą, išsaugo jį kaip test.md ir nustato 20 sekundžių limitą ryšiui su serveriu užmegzti.
Valdykite garbanojimo užklausas dėl greito atkūrimo
Pasaulyje, kuriame laikas yra pinigai, galimybė apriboti garbanojimo užklausos laiką yra patogus įgūdis. Nesvarbu, ar pasirinksite parinktį --connect-timeout arba --max-time, jūs prisiimate atsakomybę už duomenų gavimo užduotis. Taigi, nebereikia begalinio laukimo – laikas pateikti efektyvias, kontroliuojamas žiniatinklio užklausas.
Kitą kartą, kai lauksite, kol bus baigtas garbanojimo prašymas, prisiminkite šiuos metodus ir pasirūpinkite, kad garbanos veiktų pagal jūsų sąlygas.