Linux Essentials: Curl Fundamentals
Spisu treści:
- Instalowanie Curl
- Zainstaluj Curl na Ubuntu i Debianie
- Zainstaluj Curl na CentOS i Fedorze
- Jak korzystać z Curl
- Zapisz dane wyjściowe w pliku
- Pobierz wiele plików
- Wznów pobieranie
- Uzyskaj nagłówki HTTP adresu URL
- Zmień User-Agent
- Określ maksymalną szybkość transferu
- Przesyłaj pliki przez FTP
- Wyślij ciasteczka
- Korzystanie z serwerów proxy
- Wniosek
curl
to narzędzie wiersza polecenia do przesyłania danych z lub na serwer zaprojektowane do pracy bez interakcji użytkownika. Dzięki
curl
możesz pobierać lub przesyłać dane przy użyciu jednego z obsługiwanych protokołów, w tym HTTP, HTTPS, SCP, SFTP i FTP.
curl
oferuje szereg opcji pozwalających wznowić transfery, ograniczyć przepustowość, obsługę proxy, uwierzytelnienie użytkownika i wiele więcej.
W tym samouczku pokażemy, jak korzystać z narzędzia do zwijania, poprzez praktyczne przykłady i szczegółowe objaśnienia najczęściej używanych opcji zwijania.
Instalowanie Curl
Pakiet curl jest obecnie zainstalowany w większości dystrybucji Linuksa.
Aby sprawdzić, czy pakiet Curl jest zainstalowany w systemie, otwórz konsolę, wpisz
curl
i naciśnij klawisz Enter. Jeśli masz zainstalowane
curl
, system wydrukuje
curl: try 'curl --help' or 'curl --manual' for more information
. W przeciwnym razie zobaczysz coś w rodzaju
curl command not found
.
Jeśli
curl
nie jest zainstalowany, możesz go łatwo zainstalować za pomocą menedżera pakietów swojej dystrybucji.
Zainstaluj Curl na Ubuntu i Debianie
sudo apt update
sudo apt install curl
Zainstaluj Curl na CentOS i Fedorze
Jak korzystać z Curl
Składnia polecenia
curl
jest następująca:
curl
W najprostszej formie, wywołany bez żadnej opcji,
curl
wyświetla określony zasób na standardowe wyjście.
Na przykład, aby pobrać stronę główną
example.com
, uruchom:
curl example.com
Polecenie wydrukuje kod źródłowy strony
example.com
w oknie terminala.
Jeśli nie określono protokołu,
curl
próbuje odgadnąć protokół, którego chcesz użyć, i domyślnie ustawiony jest
HTTP
.
Zapisz dane wyjściowe w pliku
Aby zapisać wynik polecenia
curl
, użyj opcji
-o
lub
-O
.
Mała litera
-o
zapisuje plik ze wstępnie zdefiniowaną nazwą pliku, który w poniższym przykładzie to
vue-v2.6.10.js
:
curl -o vue-v2.6.10.js
Wielkie
-O
zapisuje plik z oryginalną nazwą pliku:
Pobierz wiele plików
Aby pobrać wiele plików jednocześnie, użyj wielu opcji
-O
, a następnie adresu URL pliku, który chcesz pobrać.
W poniższym przykładzie pobieramy pliki iso Arch Linux i Debian:
curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \
-O
Wznów pobieranie
Możesz wznowić pobieranie, używając opcji
-C -
. Jest to przydatne, jeśli połączenie zostanie zerwane podczas pobierania dużego pliku i zamiast zaczynać pobieranie od zera, możesz kontynuować poprzedni.
Na przykład, jeśli pobierasz plik ISO Ubuntu 18.04 za pomocą następującego polecenia:
curl -O
i nagle Twoje połączenie się kończy, możesz wznowić pobieranie za pomocą:
Uzyskaj nagłówki HTTP adresu URL
Nagłówki HTTP to rozdzielane dwukropkami pary klucz-wartość zawierające informacje, takie jak agent użytkownika, typ zawartości i kodowanie. Nagłówki są przekazywane między klientem a serwerem z żądaniem lub odpowiedzią.
Użyj opcji
-I
, aby pobrać tylko nagłówki HTTP określonego zasobu:
curl -I --http2
Opcja
-L
instruuje
curl
aby podążał za każdym przekierowaniem, aż dotrze do ostatecznego celu:
Zmień User-Agent
Czasami podczas pobierania pliku serwer zdalny może być ustawiony tak, aby blokował Curl User-Agent lub zwracał inną zawartość w zależności od urządzenia gościa i przeglądarki.
W takich sytuacjach, aby emulować inną przeglądarkę, użyj opcji
-A
.
Na przykład do emulacji Firefoksa 60 użyłbyś:
curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"
Określ maksymalną szybkość transferu
Opcja
--limit-rate
pozwala ograniczyć szybkość przesyłania danych. Wartość można wyrazić w bajtach, kilobajtach z sufiksem
k
, megabajtach z sufiksem
m
i gigabajtów z sufiksem
g
.
W poniższym przykładzie
curl
pobierze plik binarny Go i ograniczy prędkość pobierania do 1 mb:
curl --limit-rate 1m -O
Ta opcja jest przydatna, aby zapobiec
curl
całej dostępnej przepustowości.
Przesyłaj pliki przez FTP
Aby uzyskać dostęp do chronionego serwera FTP za pomocą
curl
, użyj opcji
-u
i określ nazwę użytkownika i hasło, jak pokazano poniżej:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Po zalogowaniu polecenie wyświetla listę wszystkich plików i katalogów w katalogu osobistym użytkownika.
Możesz pobrać pojedynczy plik z serwera FTP, używając następującej składni:
curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz
Aby przesłać plik na serwer FTP, użyj
-T
a następnie nazwy pliku, który chcesz przesłać:
curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/
Wyślij ciasteczka
Czasami może być konieczne wysłanie żądania HTTP z określonymi plikami cookie w celu uzyskania dostępu do zdalnego zasobu lub debugowania problemu.
Domyślnie przy żądaniu zasobu
curl
żadne pliki cookie nie są wysyłane ani przechowywane.
Aby wysłać pliki cookie na serwer, użyj przełącznika
-b
a następnie nazwa pliku zawierającego pliki cookie lub ciąg znaków.
Na przykład, aby pobrać plik rpm JDK Oracle Java JDK
jdk-10.0.2_linux-x64_bin.rpm
, musisz przekazać plik cookie o nazwie
oraclelicense
o wartości
a
:
curl -L -b "oraclelicense=a" -O
Korzystanie z serwerów proxy
curl
obsługuje różne typy serwerów proxy, w tym HTTP, HTTPS i SOCKS. Aby przesłać dane przez serwer proxy, użyj opcji
-x
(
--proxy
), a następnie adresu URL proxy.
Następujące polecenie pobiera określony zasób przy użyciu serwera proxy na porcie
8888
192.168.44.1
:
curl -x 192.168.44.1:8888
Jeśli serwer proxy wymaga uwierzytelnienia, użyj opcji
-U
(
--proxy-user
), a następnie nazwy użytkownika i hasła oddzielonych dwukropkiem (
user:password
):
curl -U username:password -x 192.168.44.1:8888
Wniosek
curl
to narzędzie wiersza polecenia, które umożliwia przesyłanie danych z lub do zdalnego hosta. Jest przydatny przy rozwiązywaniu problemów, pobieraniu plików itp.
Przykłady przedstawione w tym samouczku są proste, ale pokazują najczęściej używane opcje
curl
i mają na celu pomóc ci zrozumieć, jak działa polecenie
curl
.
Aby uzyskać więcej informacji o zwijaniu, odwiedź stronę Dokumentacja
curl
.
Polecenie echa w systemie Linux z przykładami
Polecenie echo jest jednym z najbardziej podstawowych i często używanych poleceń w systemie Linux. Argumenty przekazywane do echa są wypisywane na standardowe wyjście.
Polecenie daty w systemie Linux z przykładami
Polecenie daty wyświetla lub ustawia datę systemową. Najczęściej jest używany do drukowania daty i godziny w różnych formatach oraz obliczania przyszłych i przeszłych dat.
Polecenie Tr w systemie Linux z przykładami
Tr to narzędzie wiersza poleceń w systemach Linux i Unix, które tłumaczy, usuwa i wyciska znaki ze standardowego wejścia i zapisuje wynik na standardowym wyjściu.