Ściąga z CURL Cheat sheet from library and command-line tool (curl) for transferring data using various network protocols

CURL (ang. Client URL) to biblioteka programistyczna oraz narzędzie wiersza poleceń do transferu danych z serwerów WWW lub FTP, z obsługą wielu protokołów, w tym HTTP, HTTPS, FTP, FTPS, SCP, SFTP, TFTP, LDAP, DICT, TELNET, FILE, IMAP, POP3 oraz SMTP. Biblioteka CURL została napisana w języku C i jest dostępna na wielu platformach, w tym na systemach operacyjnych takich jak Linux, Windows i macOS, także jako narzędzia wiersza pleceń w konsoli Bash czy Command Prompt

CURL umożliwia programistom wykonywanie różnych operacji związanych z przesyłaniem i odbieraniem danych z serwerów, takich jak pobieranie plików, przesyłanie formularzy, wysyłanie i odbieranie wiadomości e-mail, wysyłanie żądań HTTP do API, pobieranie danych z baz danych itp. CURL obsługuje wiele funkcji związanych z transferem danych, takich jak obsługa ciasteczek, obsługa nagłówków HTTP, obsługa zapytań POST i GET, przekierowania HTTP, obsługa autoryzacji HTTP i wiele innych.

CURL jest bardzo popularnym narzędziem w świecie programowania, a jego funkcjonalność jest szeroko wykorzystywana w aplikacjach internetowych, skryptach automatyzujących i innych programach. Biblioteka CURL jest również często używana jako moduł w różnych językach programowania, takich jak PHP Python, Ruby i wielu innych.

# Podanie wersji biblioteki CURL
curl -V

# Podstawowe wywołanie
curl ‹url›

# Wysyłanie danych klucz/wartość metodą HTTP POST
curl -"klucz=wartosc&klucz2=wartosc2" eznawca.pl

# Pełna pomoc
curl -h all

# Wyświetlanie nagłówków protokołu oraz treści zwracanej przez serwer
curl -i eznawca.pl

# Wyświetlanie tylko nagłówków protokołu zwracanych przez serwer
# (tu przykład nagłowka przekierowania "location:")
curl -I https://eznawca.pl?facebook

# Zapisywanie do pliku zamiast wysyłanai na ekran (stdout)
curl -o output_file.txt eznawca.pl

# Transfer lokalnego pliku na serwer
curl -T input_file.txt eznawca.pl

# Uwierzytelnianie przez Basic-Auth
curl -u ‹user:password› eznawca.pl

# Dodanie do zapytania ciagu USER_AGENT
curl -"Mozilla/5.0 (Linux) AppleWebKit/537 (KHTML) Chrome/84" eznawca.pl

# Tryb Głośny/Verbose podający szczegóły
curl -v eznawca.pl

# Dodanie i nadpisanie nagłówka HEADER
curl -"Accept: application/json" -"X-API-KEY: e2c3275d0e1a4bc0da360dd225d74a43" eznawca.pl

# Zmiana metody z GET na inną, np. POST
curl -X POST eznawca.pl

# Zamiana URL przyjścia, zmiennej referer
curl --referer "onet.pl" eznawca.pl

# Ustawienie Cookis (ciasteczek)
curl --cookie "admin=yes" eznawca.pl

# Zapisywanie Cookis serwera do pliku
curl --cookie-jar jar_file.txt eznawca.pl

# Dodawanie Cookis z pliku do bieżącego zapytania
curl --cookie jar_file.txt eznawca.pl

# Dwukierunkowa obsługa Cookis (Analogicznie jak robi to przeglądarka, np. w celu przekazania stanu zalogowania)
curl -b jar_file.txt --cookie-jar jar_file.txt eznawca.pl

# Podążanie za przekierowaniami, nagłówkami "location:"
curl -L eznawca.pl?facebook

# Ograniczenie czasu zapytania do 5 sekund
curl -m 5 eznawca.pl

# Ponawianie połączenia w przypadku błedów, do 5 razy
curl --retry 5 eznawca.pl

# Pomijanie błedów SSL, wygaśniętych certyfikatów lub self-signed
curl -k eznawca.pl

Materiał przygotował dla Was:
Andrzej EZNAWCA Mazur
Zapraszam na moje strony:
LekcjePHP.pl
Eznawca.pl