Porady Admina: curl
Ostatnia aktualizacja: 16 września 2023, 12:46
W dzisiejszym wpisie z cyklu Porady Admina zajmiemy się programem curl.
curl to konsolowe narzędzie do przesyłania danych z lub na serwer. Obsługuje następujące protokoły: DICT, PLIK, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET lub TFTP. Polecenie curl jest przeznaczone do pracy bez interakcji użytkownika.
curl oferuje mnóstwo przydatnych sztuczek, takich jak: obsługa proxy, uwierzytelnianie użytkowników, przesyłanie FTP, poczta HTTP, połączenia SSL, pliki cookie, wznowienie przesyłania plików i inne.
curl dołoży wszelkich starań, aby użyć tego, co do niego przekazujesz, jako adresu URL. Nie próbuje walidować w jakikolwiek sposób składni adresu URL, ale jest dość liberalny w stosunku do tego, co akceptuje.
curl spróbuje ponownie wykorzystać połączenia do wielu transferów plików, więc uzyskanie wielu plików z tego samego serwera nie wymaga wielokrotnych połączeń, co w efekcie poprawia prędkość. Odbywa się to tylko na plikach określonych w jednym wierszu poleceń i nie może być używane między oddzielnymi wywołaniami curl.
Składnia
curl [opcje/URL]
Wybrane opcje
–anyautor : (HTTP) Informuje curl, aby samodzielnie wymyślił metodę uwierzytelniania i używał najbezpieczniejszej, taką którą zdalna witryna twierdzi, że ma ją obsługiwać.
-a : (FTP SFTP) Kiedy jest używane podczas przesyłania, powoduje to, że curl dołącza się do pliku docelowego zamiast go nadpisywać.
–basic : (HTTP) Informuje curl, aby używał uwierzytelniania podstawowego HTTP ze zdalnym hostem.
–cert-status : (TLS) Nakazuje curl weryfikację stanu certyfikatu serwera przy użyciu rozszerzenia TLS żądania stanu certyfikatu.
–cert-type
-E, –cert
-K, –config
–connect-timeout : Maksymalny czas w sekundach, jaki może zająć połączenie curl.
-C, –continue-w
-b, –cookie
–create-dirs : W połączeniu z opcją –output, curl utworzy niezbędną, w razie potrzeby, hierarchię katalogów lokalnych.
-d, –data
-f, –fail : (HTTP) Awaria bez żadnych danych wyjściowych dotyczących błędów serwera.
-G, –get : W przypadku użycia ta opcja spowoduje, że wszystkie dane określone za pomocą opcji -d, –data, –data-binary lub –data-urlencode będą używane w żądaniu HTTP GET zamiast POST, które w przeciwnym razie zostałyby wykorzystane.
-I, –head : (PLIK FTP FTP) Pobierz tylko nagłówki.
-H, –header
-i, –include : Uwzględnij nagłówki odpowiedzi HTTP w danych wyjściowych.
-k, –insecure : (TLS SFTP SCP) Domyślnie każde bezpieczne połączenie curl jest weryfikowane jako zabezpieczone przed rozpoczęciem transferu.
-4, –ipv4 : Ta opcja mówi curl, aby używał tylko adresów IPv4, a nie na przykład IPv6.
-key
–krb
-l, –list-only : (FTP POP3) (FTP) Podczas wyświetlania katalogu FTP ten przełącznik wymusza podanie tylko widoku nazwy.
–login-options
–mail-auth
–mail-from
–noproxy
-output-dir
-#, –progess-bar : Spraw, aby postęp transferu wyświetlania curl był prostym paskiem postępu zamiast standardowego, bardziej informacyjnego miernika.
-x, –proxy [protokół://]host[:port] : Użyj określonego serwera proxy. Ciąg proxy można określić z przedrostkiem protocol://.
–pubkey
-X, –request
–retry
-Y, –speed-limit
Przykłady
Pobierz stronę html
curl https://www.gnu.org/gnu/gnu.html
Zapisz pobierany plik z inną nazwą
curl https://www.gnu.org/gnu/gnu.html -o strona.html
Pobierz plik z serwera używając adresu IPv6
curl -6 https://www.gnu.org/gnu/gnu.html
Zapisz pobierany plik w wybranym katalogu
curl https://www.gnu.org/gnu/gnu.html > /home/pawe/prywatny/gnu.html
Więcej informacji o programie curl uzyskasz poleceniami:
curl -h
man curl