To starożytne narzędzie Linux wciąż jest lepsze niż nowoczesne alternatywy
Podsumowanie
- curl to wszechobecny wiersz poleceń „przeglądarka”, która pobiera surowe odpowiedzi z sieci (HTTP, FTP, SMTP itp.).
- Przekieruj output przez grep/sed/awk lub cron, aby zautomatyzować ekstrakcję danych, monitorowanie i instalacje.
- Użyj curl do pobierania/wysyłania plików, podążania za przekierowaniami, wznawiania transferów i obsługi uwierzytelniania.
Adres URL klienta lub cURL to potężne narzędzie w wierszu poleceń, które jest wstępnie zainstalowane praktycznie na każdym nowoczesnym komputerze (czy to Windows, macOS, czy Linux). Myśl o curl jak o przeglądarce internetowej, która żyje w terminalu i działa na surowym tekście. Ta koncepcja brzmi dość prosto, ale to także dlatego curl jest wszechobecny we współczesnej technologii. Chociaż istnieją nowoczesne alternatywy (takie jak wget), curl nigdzie nie zniknie. Jeśli spędzisz trochę czasu pracując z Linuksem, nieuchronnie skończysz wykonując polecenie curl.
Co to jest curl
Normalnie, gdy przeglądasz internet, robisz to za pomocą przeglądarki internetowej. Uruchamiasz okno przeglądarki, wpisujesz adres lub zapytanie, a przeglądarka renderuje dla ciebie stronę internetową. Renderowanie, w tym kontekście, oznacza, że przeglądarka interpretuje lub „przetwarza” otrzymany kod na wizualną i interaktywną stronę. W ten sposób otrzymujesz kolorową, stylizowaną stronę internetową, którą możesz przeglądać i na której możesz klikać. Ponieważ muszą renderować kod, przeglądarki zazwyczaj są zasobożerne.
Narzędzie curl jest również rodzajem przeglądarki, z tym że nie renderuje kodu. Kiedy żądasz strony internetowej za pomocą curl, po prostu wyświetla surowy kod w formacie tekstowym w oknie terminala. Na przykład, jeśli spróbujesz załadować https://www.google.com za pomocą curl, otrzymasz faktyczny kod HTML, który tworzy stronę internetową.
Co można zrobić za pomocą curl
Ale jaki jest sens drukowania tego surowego kodu w terminalu? Wydaje się to bezużyteczne, jeśli myślisz o tym jako konsument lub odwiedzający. Jednak te surowe informacje mogą być niesamowicie użyteczne, jeśli spojrzysz na nie w kontekście automatyzacji lub ekstrakcji danych. Linux ma potężne narzędzia CLI do przetwarzania wyjścia tekstowego. Możesz „przepuścić” wynik curl do grep, sed lub awk i uzyskać użyteczne informacje. Możesz łączyć polecenie curl z tymi narzędziami, aby uzyskać informacje o akcjach, prognozy pogody, znaleźć kody rabatowe, monitorować spadki cen i tak dalej. Wszystkie informacje, które widzisz na stronie internetowej, technicznie można wydobyć za pomocą curl.
Być może już używałeś curl, aby uruchamiać skrypty instalacyjne z GitHub. Przesyłają one zawartość skryptu powłoki i wykonują ją za pomocą Basha. Te polecenia curl są zazwyczaj niezależne od systemu operacyjnego i sprawiają, że instalacja programu na dowolnym systemie operacyjnym jest bardzo prosta. Na przykład, możesz zainstalować Ollamę (aplikację do uruchamiania modeli LLM lokalnie) za pomocą prostego polecenia curl.
curl -fsSL https://ollama.com | shTo polecenie pokazuje prognozy pogody dla Twojej aktualnej lokalizacji.
curl -s https://wttr.inMożesz uzyskać swój publiczny adres IP za pomocą tej komendy curl.
curl ifconfig.meAby uzyskać ceny kryptowalut, możesz to uruchomić.
curl rate.sx/btcMożesz tworzyć potężne skrypty powłoki za pomocą curl
To, co naprawdę sprawia, że curl jest potężny, to fakt, że możesz przesyłać jego wyjście do innych narzędzi Linuxa lub umieszczać je w skryptach powłoki w celu automatyzacji zadań. Każde z tych wyjść może być częścią niestandardowego skryptu powłoki w zależności od tego, co próbujesz osiągnąć. Polecenie curl do pobierania kryptowalut można połączyć z cronem, aby wysyłało alerty o zmianach cen (curl może również wysyłać powiadomienia).
Dla twórców stron internetowych curl jest przydatny, ponieważ pokazuje im rzeczywisty status ich stron. Przeglądarka może wyświetlić komunikat „coś poszło nie tak”, gdy strona nie załaduje się poprawnie. Dzięki curl możesz zobaczyć rzeczywiste kody statusu ponad zrzutem tekstu (takie jak 200 OK lub 500 Server Error). Prosty skrypt powłoki, który używa curl i cron, może automatycznie sprawdzać ten status w regularnych odstępach czasu i wysyłać alerty, jeśli strona przestanie działać. Może nawet zapisywać wyniki do codziennego dziennika raportów.
Możesz pobierać i przesyłać zawartość za pomocą curl
Oprócz surowego wyjścia tekstowego, curl można również używać do pobierania treści z internetu. Możesz podać adres URL do pobrania, a następnie curl -o, a plik zostanie pobrany do bieżącego katalogu. Jeśli link automatycznie przekierowuje do innej strony w celu pobrania jakiejś treści, możesz podać oryginalny adres URL, a curl automatycznie przejdzie do strony pobierania. Jeśli pobieranie zostanie przerwane, curl pozwala wznowić je od ostatniego odebranego bajtu.
Od czasu do czasu strona internetowa będzie chciała, abyś się zalogował, zanim poda link do pobrania. Za pomocą curl możesz wprowadzić ten ciasteczko sesyjne i URL pobierania, aby zapisać plik.
Nie jesteś też ograniczony tylko do HTTP/HTTPS. Korzystając z curl, możesz także pobierać pliki z połączeń FTP, SSH i SMB. Obsługuje on nawet protokoły IMAP/POP3/SMTP, co oznacza, że możesz pobierać i wysyłać e-maile. Możesz napisać polecenie w shellu, które pobierze wszystkie Twoje e-maile z klienta pocztowego i zarchiwizuje je w formacie surowym.
Zestaw narzędzi curl jest niezbędny dla każdego zaawansowanego użytkownika lub programisty. Możesz go używać do pobierania przydatnych danych ze stron internetowych, pobierania lub wysyłania plików oraz bezpośredniej interakcji z serwerami (żądanie danych lub przesyłanie informacji). Ponieważ jest to narzędzie wiersza poleceń, możesz przekazywać jego wyniki do innych narzędzi Linuksa i tworzyć zautomatyzowane procesy lub skrypty powłoki.






