Polecenie cURL w systemie Linux to potężne narzędzie do przesyłania danych do lub z serwera przy użyciu różnych protokołów, w tym HTTP, HTTPS, FTP i innych. Jest powszechnie używany do automatyzacji żądań internetowych, testowania interfejsów API i pobierania plików z Internetu. cURL jest wszechstronny i może obsłużyć szeroki zakres zadań, od prostego pobierania plików po złożone, wieloczęściowe przesyłanie formularzy.
W tym przewodniku omówimy 30 praktycznych przykładów użycia polecenia cURL w systemie Linux. Przykłady te obejmą typowe przypadki użycia, takie jak pobieranie plików, wysyłanie danych do interfejsów API, obsługa uwierzytelniania i inne, pokazując elastyczność i możliwości cURL do różnych zadań.
Składnia polecenia cURL
Zanim przejdziemy do zademonstrowania 30 przykładów polecenia cURL, warto najpierw zapoznać się z jego składnią:
curl [options] [URL]
W tej składni:
- opcje: Są to parametry modyfikujące zachowanie cURL.
- URL: Jest to adres pliku lub zasobu, z którym chcesz wchodzić w interakcję.
Opcje poleceń cURL
cURL oferuje wiele opcji, które pozwalają dostosować jego zachowanie. Oto niektóre z najczęściej używanych opcji:
- -O: Pobiera plik z określonego adresu URL.
- -I: Pobiera nagłówek HTTP z serwera.
- -u: Określa poświadczenia użytkownika do uwierzytelnienia serwera.
- -d: Wysyła określone dane w żądaniu POST do serwera.
- -x: Określa adres proxy używany dla żądań.
30 przykładów polecenia cURL w systemie Linux
Przyjrzyjmy się teraz praktycznym przykładom użycia polecenia cURL. Każdy przykład będzie poprzedzony wyjaśnieniem, po którym nastąpi demonstracja wyników.
Przykład 1: Pobieranie danych z adresu URL
Najbardziej podstawowym zastosowaniem cURL jest pobranie zawartości strony internetowej. Oto jak możesz to zrobić:
curl https://www.example.com
To polecenie pobiera zawartość HTML strony internetowej www.example.com.
Przykład 2: Pobieranie pliku
cURL można również używać do pobierania plików z Internetu. Oto przykład:
curl -O https://www.example.com/file.txt
To polecenie pobiera plik file.txt z www.example.com i zapisuje go w bieżącym katalogu.
Przykład 3: Wysyłanie żądania POST
Możesz użyć cURL do wysyłania żądań POST do serwera. Oto jak:
curl -d "param1=value1¶m2=value2" -X POST http://www.example.com
To polecenie wysyła żądanie HTTP POST do www.example.com z danymi param1=wartość1¶m2=wartość2.
Przykład 4: Pobieranie nagłówków HTTP
Jeśli chcesz pobrać nagłówki HTTP z serwera, możesz użyć opcji -I. Oto przykład:
curl -I https://www.example.com
To polecenie pobiera nagłówki HTTP z www.example.com.
Przykład 5: Korzystanie z serwera proxy
Jeśli chcesz użyć serwera proxy, określ go za pomocą opcji -x. Oto jak:
curl -x http://proxy.example.com:8080 https://www.example.com
To polecenie wysyła żądanie do www.example.com za pośrednictwem serwera proxy pod adresem proxy.example.com:8080.
Przykład 6: Wysyłanie plików cookie
Możesz wysłać pliki cookie wraz z żądaniem, korzystając z opcji -b. Oto przykład:
curl -b "name=value" https://www.example.com
To polecenie wysyła plik cookie o nazwie=wartość do www.example.com.
Przykład 7: Wysyłanie Agenta Użytkownika
Strony internetowe często wykorzystują agenta użytkownika do dostarczania treści odpowiednich dla przeglądarki klienta. Aby wysłać agenta użytkownika z żądaniem, użyj opcji -A:
curl -A "Mozilla/5.0" https://www.example.com
To polecenie wysyła żądanie do www.example.com z agentem użytkownika ustawionym na Mozilla/5.0.
Przykład 8: Śledzenie przekierowań
Niektóre adresy URL przekierowują na inne adresy URL. Aby podążać za tymi przekierowaniami, użyj opcji -L:
curl -L https://www.example.com
To polecenie następuje po wszelkich przekierowaniach z www.example.com.
Przykład 9: Zapisywanie wyników do pliku
Aby zapisać wynik polecenia cURL w pliku, użyj opcji -o:
curl -o output.html https://www.example.com
To polecenie zapisuje dane wyjściowe www.example.com w pliku Output.html.
Przykład 10: Przesyłanie plików za pomocą protokołu FTP
cURL może przesyłać pliki na serwer za pomocą protokołu FTP. Oto jak:
curl -T file.txt ftp://ftp.example.com --user username:password
To polecenie przesyła plik.txt do ftp.example.com przy użyciu podanej nazwy użytkownika i hasła.
Przykład 11: Wznawianie pobierania
Jeśli pobieranie zostanie przerwane, możesz je wznowić za pomocą opcji -C –:
curl -C - -O https://www.example.com/file.txt
To polecenie wznawia pobieranie pliku.txt z www.example.com.
Przykład 12: Pobieranie wielu plików
Aby pobrać wiele plików, określ wiele adresów URL:
curl -O https://www.example.com/file1.txt -O https://www.example.com/file2.txt
To polecenie pobiera plik1.txt i plik2.txt z www.example.com.
Przykład 13: Wysyłanie żądania DELETE
Aby wysłać żądanie DELETE, użyj opcji -X DELETE:
curl -X DELETE https://www.example.com/resource
To polecenie wysyła żądanie DELETE na adres URL www.example.com/resource.
Przykład 14: Pełne dane wyjściowe
Aby uzyskać szczegółowe informacje na temat żądania i odpowiedzi, użyj opcji -v:
curl -v https://www.example.com
To polecenie udostępnia szczegółowe dane wyjściowe żądania do www.example.com.
Przykład 15: Tryb cichy
Aby ukryć licznik postępu i komunikaty o błędach, użyj opcji -s:
curl -s https://www.example.com
To polecenie pobiera zawartość www.example.com w trybie cichym.
Przykład 16: Wyświetlanie postępu pobierania
Aby wyświetlić postęp pobierania w bardziej czytelnym formacie, użyj opcji #:
curl -# -O https://www.example.com/file.txt
To polecenie pobiera plik.txt z www.example.com i wyświetla postęp w postaci paska postępu.
Przykład 17: Wysyłanie danych JSON
Aby wysłać dane JSON w żądaniu POST, użyj opcji -H, aby ustawić typ zawartości:
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json" -X POST https://www.example.com
To polecenie wysyła żądanie POST z danymi JSON do www.example.com.
Przykład 18: Używanie cURL z API
cURL jest często używany do interakcji z interfejsami API. Oto przykład:
curl -H "Authorization: Bearer YOUR_TOKEN" https://api.example.com
To polecenie wysyła żądanie do https://api.example.com z nagłówkiem autoryzacyjnym.
Przykład 19: Pobieranie plików w tle
Aby pobrać plik w tle, użyj opcji -O ze znakiem ampersand na końcu:
curl -O https://www.example.com/file.txt &
To polecenie pobiera w tle plik .txt z witryny www.example.com.
Przykład 20: Wysyłanie danych z pliku
Aby wysłać dane z pliku w żądaniu POST, użyj symbolu @:
curl -d @data.txt -X POST https://www.example.com
To polecenie wysyła żądanie POST z danymi z data.txt do www.example.com.
Przykład 21: Pobieranie zawartości z serwera FTP
cURL może służyć do pobierania treści z serwera FTP. Oto jak:
curl ftp://ftp.example.com/file.txt --user username:password
To polecenie pobiera plik.txt z ftp.example.com przy użyciu podanej nazwy użytkownika i hasła.
Przykład 22: Pobieranie treści ze strony internetowej chronionej hasłem
Aby pobrać zawartość ze strony internetowej chronionej hasłem, użyj opcji -u:
curl -u username:password https://www.example.com
To polecenie pobiera zawartość z www.example.com przy użyciu podanej nazwy użytkownika i hasła.
Przykład 23: Pobieranie treści ze strony internetowej za pomocą protokołu SSL
Aby pobrać zawartość ze strony internetowej z protokołem SSL, użyj opcji -k:
curl -k https://www.example.com
To polecenie pobiera zawartość z www.example.com, ignorując wszelkie ostrzeżenia dotyczące certyfikatu SSL.
Przykład 24: Wysyłanie żądania PUT
Aby wysłać żądanie PUT, użyj opcji -X PUT:
curl -X PUT -d "data" https://www.example.com/resource
To polecenie wysyła żądanie PUT z danymi „data” do www.example.com/resource.
Przykład 25: Pobieranie nagłówków odpowiedzi
Aby pobrać tylko nagłówki odpowiedzi, użyj opcji -I:
curl -I https://www.example.com
To polecenie pobiera tylko nagłówki odpowiedzi z www.example.com.
Przykład 26: Pobieranie treści ze strony internetowej za pomocą plików cookie
Aby pobrać zawartość ze strony internetowej zawierającej pliki cookie, użyj opcji -b:
curl -b cookies.txt https://www.example.com
To polecenie pobiera zawartość z www.example.com przy użyciu plików cookie przechowywanych w pliku cookies.txt.
Przykład 27: Pobieranie treści ze strony internetowej z niestandardowymi nagłówkami
Aby pobrać zawartość ze strony internetowej z niestandardowymi nagłówkami, użyj opcji -H:
curl -H "Custom-Header: Value" https://www.example.com
Przykład 28: Pobieranie treści ze strony internetowej po przekroczeniu limitu czasu
Aby pobrać zawartość ze strony internetowej po przekroczeniu limitu czasu, użyj opcji -m:
curl -m 10 https://www.example.com
To polecenie pobiera zawartość z www.example.com z limitem czasu wynoszącym 10 sekund.
Przykład 29: Pobieranie treści ze strony internetowej w trybie pełnym
Aby pobrać zawartość ze strony internetowej w trybie pełnym, użyj opcji -v:
curl -v https://www.example.com
To polecenie pobiera zawartość z www.example.com w trybie pełnym, wyświetlając szczegółowe informacje o żądaniu i odpowiedzi.
Przykład 30: Pobieranie treści ze strony internetowej i wyświetlanie miernika postępu
Aby pobrać zawartość ze strony internetowej i wyświetlić licznik postępu, użyj opcji -#:
curl -# https://www.example.com
To polecenie pobiera zawartość z www.example.com i wyświetla miernik postępu.
Wniosek
Opanowanie polecenia cURL na podstawie tych praktycznych przykładów może znacznie zwiększyć możliwości interakcji z usługami sieciowymi, automatyzacji przesyłania danych i rozwiązywania problemów z siecią. Regularna praktyka z różnymi opcjami i poleceniami cURL pogłębi Twoje zrozumienie i umożliwi wykorzystanie jego pełnego potencjału w przepływach pracy w systemie Linux. Ciesz się wszechstronnością i wydajnością, jaką cURL wnosi do Twojego zestawu narzędzi wiersza poleceń.