Często lepiej jest ponieść porażkę szybko, niż ciągle czekać w nadziei na sukces.
Jeśli chodzi o wysyłanie żądań internetowych, czas ma kluczowe znaczenie. Nikt nie lubi bez końca czekać na załadowanie strony internetowej lub odpowiedź serwera. Jeśli używasz curl do pobierania danych z Internetu, z przyjemnością dowiesz się, że istnieją sposoby na ograniczenie czasu trwania żądań.
Oto jak ograniczyć czas żądania zwijania, aby mieć pewność, że masz kontrolę nad operacjami pobierania danych.
Metoda 1: Użycie opcji --max-time
Chwila uruchomienie polecenia curl, możesz określić -M Lub --maksymalny czas możliwość ustalenia ścisłego terminu realizacji żądania. Ta opcja pozwala określić maksymalny czas w sekundach, przez jaki polecenie może upłynąć, zanim zakończy się z kodem błędu przekroczenia limitu czasu (28):
curl --max-timе [sеconds] [URL]
Maksimum można zdefiniować z dokładnością dziesiętną, gdzie 0,3 oznacza 300 milisekund, 5,46 równa się 5460 milisekund, a 20 oznacza 20 sekund.
Na przykład:
curl -o test.md --max-time 30 https://github.com/test/file1
To polecenie wysyła żądanie do podanego adresu URL GitHub. Zapisze dane odpowiedzi jako test.md i zakończy w maksymalnym czasie 30 sekund.
Metoda 2: Użycie opcji --connect-timeout
Aby kontrolować czas, jaki Curl spędza na próbie połączenia się z hostem, użyj opcji --przekroczono limit czasu połączenia opcja. Ustawia maksymalny limit czasu, w którym curl może ukończyć etapy łączenia, w tym Wyszukiwanie DNS i kolejne uściski dłoni TCP, TLS lub QUIC.
Jeśli curl nie może nawiązać połączenia w określonym przedziale czasu, zakończy działanie z kodem błędu przekroczenia limitu czasu (28):
curl --connect-timeout [seconds] [URL]
Na przykład:
curl -o test.md --connect-time 20 https://github.com/test/file
W tym przypadku polecenie curl pobiera plik określony w adresie URL, zapisuje go jako test.md i wymusza 20-sekundowy limit na nawiązanie połączenia z serwerem.
Kontroluj żądania zwijania w celu szybkiego pobrania
W świecie, w którym czas to pieniądz, możliwość ograniczenia czasu żądania zwijania jest przydatną umiejętnością. Niezależnie od tego, czy wybierzesz opcję --connect-timeout czy --max-time, przejmujesz kontrolę nad zadaniami pobierania danych. Koniec z niekończącym się czekaniem. Nadszedł czas na wydajne i kontrolowane żądania internetowe.
Następnym razem, gdy będziesz czekać na zakończenie żądania curl, zapamiętaj te metody i spraw, aby curl działał na Twoich warunkach.