Adesea este mai bine să eșuezi repede decât să aștepți în continuare în speranța succesului.
Când vine vorba de a face cereri web, sincronizarea este crucială. Nimănui nu-i place să aştepte la nesfârşit ca o pagină web să se încarce sau un server să răspundă. Dacă utilizați curl pentru a prelua date de pe web, veți fi încântați să aflați că există modalități de a limita timpul necesar solicitărilor dvs.
Iată cum puteți limita timpul de solicitare curl pentru a vă asigura că păstrați controlul asupra operațiunilor de preluare a datelor.
Metoda 1: Utilizarea opțiunii --max-time
In timp ce rulează comanda curl, puteți specifica -m sau --max-time opțiunea de a stabili un termen strict pentru cerere. Această opțiune vă permite să specificați timpul maxim, în secunde, pe care sunteți dispus să lăsați comanda să dureze înainte de a ieși cu un cod de eroare de timeout (28):
curl --max-timе [sеconds] [URL]
Puteți defini maximul cu precizie zecimală, unde 0,3 înseamnă 300 de milisecunde, 5,46 este egal cu 5.460 de milisecunde și 20 înseamnă 20 de secunde.
De exemplu:
curl -o test.md --max-time 30 https://github.com/test/file1
Această comandă trimite o solicitare la adresa URL GitHub furnizată. Acesta va salva datele de răspuns ca test.md și va termina într-un timp maxim de 30 de secunde.
Metoda 2: Utilizarea opțiunii --connect-timeout
Pentru a controla timpul petrecut curl încercând să se conecteze la o gazdă, utilizați --connect-timeout opțiune. Aceasta stabilește o limită de timp maximă pentru curl pentru a finaliza pașii de conectare, inclusiv Căutare DNS și strângerile de mână TCP, TLS sau QUIC ulterioare.
Dacă curl nu poate stabili o conexiune în intervalul de timp pe care îl specificați, acesta va ieși cu un cod de eroare de timeout (28):
curl --connect-timeout [seconds] [URL]
De exemplu:
curl -o test.md --connect-time 20 https://github.com/test/file
Aici, comanda curl preia fișierul specificat în URL, îl salvează ca test.md și impune o limită de 20 de secunde pentru stabilirea conexiunii cu serverul.
Controlați cererile de curl pentru recuperare rapidă
Într-o lume în care timpul înseamnă bani, a putea limita timpul de solicitare a buclei este o abilitate utilă. Indiferent dacă alegeți opțiunea --connect-timeout sau --max-time, vă ocupați de sarcinile de preluare a datelor. Așadar, fără așteptări nesfârșite, este timpul să faceți solicitări web eficiente, controlate.
Data viitoare când aștepți să se termine o cerere de bucle, amintește-ți aceste metode și fă ca bucla să funcționeze în condițiile tale.