Cum să setați Timeout în cURL

Configurare noua (How To)

Situatie

cURL este un instrument excelent pentru comunicațiile în rețea, înseamnă „client URL”. Practic, fiecare dispozitiv folosește cURL de pe glob care se conectează la Internet. Cea mai largă utilizare a cURL este descărcarea fișierelor de pe un server la distanță din terminal.

Faza inițială de conectare la un server pentru orice fel de comunicare așteaptă un răspuns. Întârzierea poate apărea dintr-o mare varietate de motive, unele dintre ele fiind încărcarea pe server, lățimea de bandă a rețelei, latența, jitterul etc.

Dacă întârzierea este mai mare decât ați dori să așteptați, puteți specifica o durată de „timeout”. Cea mai bună metodă de a realiza acest lucru este utilizarea opțiunii –connect-timeout.

curl --connect-timeout <duration> <URL>

Puteți specifica timpul de expirare în secunde (de exemplu, 5), în milisecunde (de exemplu, 0,001) sau ca o combinație de secunde și milisecunde (de exemplu, 4,20), iar curl va folosi acel timp ca timp maxim pentru un răspuns până la o conexiune.

Solutie

Utilizați opțiunea „–connect-timeout”
cURL are un indicator opțional „–connect-timeout” unde puteți specifica durata în secunde. Dacă aveți o versiune de cURL care este 7.32.0 sau o versiune ulterioară, puteți specifica și durata ca valori zecimale. Valoarea pe care o specificați va seta durata maximă de așteptare a unui răspuns de la serverul de la distanță.

Mai jos este un exemplu despre cum puteți utiliza indicatorul „–connect-timeout”:

curl --connect-timeout 4.2 https://linuxhandbook.com
Utilizarea lui „4.2” împreună cu indicatorul „–connect-timeout” înseamnă că cURL va încerca să se conecteze la „linuxhandbook.com” și dacă durează mai mult de 4,2 secunde, conexiunea se va întrerupe. O alternativă, opțiunea „–max-time”. Indicatorul „–max-time” este utilizat atunci când efectuați mai multe operații într-un lot.Acest flag va seta durata întregii operațiuni – cum ar fi descărcarea unui fișier mare. Deci, dacă operația, cum ar fi descărcarea unui fișier, durează mai mult decât perioada specificată, operațiunea se va termina.

$ curl --max-time 20 https://github.com/aristocratos/btop/releases/download/v1.2.3/btop-aarch64-linux-musl.tbz

Acest exemplu de utilizare a cURL va descărca un fișier. Când timpul total de „conectare la server” + „timpul de descărcare a fișierului” este mai mare decât cele 20 de secunde pe care le-am specificat aici, descărcarea va fi încheiată. În acest caz, dimensiunea fișierului este prea mică pentru ca descărcarea să dureze mai mult de 20 de secunde, astfel încât comanda să se execute cu succes.

Tip solutie

Permanent

Voteaza

(4 din 12 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?