Skip to content

Flagi curl wyjaśnione

Flagi curl używane na co dzień, pogrupowane według zadania: kształtuj żądanie, ustawiaj nagłówki, uwierzytelniaj, prezentuj tożsamość, steruj wyjściem, podążaj za przekierowaniami, dostrajaj połączenie i debuguj. Każdy wiersz łączy flagę z realistycznym wywołaniem.

curl wysyła żądanie HTTP i wypisuje treść odpowiedzi. Większość jego mocy tkwi we flagach: wybierają metodę, dołączają nagłówki i dane, obsługują uwierzytelnianie i decydują, co zostanie wypisane. Forma długa jest pokazana tam, gdzie jest czytelniejsza; forma krótka to pojedyncza litera. Umieść adresy URL w cudzysłowie, żeby powłoka nie połknęła ciągu zapytania.

Tabela referencyjna · 54 wpisy
54 of 54 rows
Kształt żądania
Ustawia metodę HTTP.curl -X POST https://api.test
Dodaje nagłówek żądania.curl -H "Accept: application/json" URL
Wysyła treść (ustawia POST i domyślny typ zawartości).curl -d "name=Ada" URL
Dokleja wartości -d jako parametry zapytania do GET.curl -G -d "q=hi" URL
Wysyła dane multipart (przesyłanie plików).curl -F "file=@photo.png" URL
Wysyła dane formularza z zastosowanym kodowaniem URL.curl --data-urlencode "name=Ada Lovelace" URL
Wysyła plik metodą PUT.curl -T big.zip URL
Dokleja przesyłany plik do zdalnego pliku zamiast go zastępować.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON i API
Wysyła JSON z poprawnym typem zawartości.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Wysyła zawartość pliku jako treść.curl -d @body.json URL
Wysyła JSON bez ręcznego ustawiania nagłówków (curl 7.82+).curl --json '{"a":1}' URL
Uwierzytelnianie
Uwierzytelnianie HTTP Basic z użytkownikiem i hasłem.curl -u ada:s3cr3t URL
Wysyła token bearer OAuth.curl --oauth2-bearer TOKEN URL
Wysyła dowolny schemat tokena ręcznie.curl -H "Authorization: Bearer TOKEN" URL
Przedstawia certyfikat klienta i jego klucz do mutual TLS.curl --cert client.pem --key key.pem URL
Weryfikuje serwer względem jednego pliku pakietu CA.curl --cacert ca.pem URL
Weryfikuje serwer względem katalogu z CA.curl --capath /etc/ssl/certs URL
Wysyła żądanie przez proxy.curl -x http://proxy.test:8080 URL
Pomija weryfikację TLS tylko dla skoku do proxy.curl -x https://proxy.test:8443 --proxy-insecure URL
Wymaga TLS 1.3 jako wersji minimalnej.curl --tlsv1.3 URL
Tożsamość
Wysyła własny ciąg User-Agent.curl -A "Mozilla/5.0" URL
Wysyła nagłówek Referer.curl -e https://example.com/page URL
Wysyła ciasteczka wraz z żądaniem.curl -b "session=abc123" URL
Zapisuje ciasteczka z odpowiedzi do pliku.curl -c cookies.txt URL
Wyjście
Zapisuje treść do pliku.curl -o page.html URL
Zapisuje treść pod zdalną nazwą pliku.curl -O https://site/file.tgz
Wypisuje nagłówki odpowiedzi nad treścią.curl -i URL
Pobiera same nagłówki (wysyła HEAD).curl -I URL
Ukrywa wskaźnik postępu i błędy.curl -s URL
Wypisuje ciąg formatujący po treści (czasy, status).curl -w "%{http_code}\n" -o /dev/null URL
Kończy się niezerowym kodem przy błędach HTTP i pomija treść błędu.curl -f URL
Kończy się niezerowym kodem przy błędach HTTP, ale wypisuje treść.curl --fail-with-body URL
Nazywa zapisany plik według nagłówka Content-Disposition.curl -OJ URL
Wznawia przerwaną transmisję od miejsca zatrzymania.curl -C - -O URL
Pokazuje pasek postępu zamiast domyślnego wskaźnika.curl -# -O URL
Wypisuje błędy także w trybie cichym.curl -sS URL
Zapisuje nagłówki odpowiedzi do pliku.curl -D headers.txt URL
Prosi o skompresowaną odpowiedź i ją dekoduje.curl --compressed URL
Tworzy brakujące katalogi w ścieżce -o.curl -o cache/api/data.json --create-dirs URL
Przekierowania i połączenie
Podąża za przekierowaniami 3xx.curl -L URL
Maksymalna liczba sekund na połączenie TCP.curl --connect-timeout 5 URL
Maksymalna liczba sekund na całe żądanie.curl --max-time 30 URL
Pomija weryfikację certyfikatu TLS.curl -k https://self-signed.test
Ponawia błędy przejściowe do N razy.curl --retry 3 URL
Ponawia przy każdym błędzie, nie tylko przejściowym.curl --retry 3 --retry-all-errors URL
Wymusza połączenie przez IPv4 lub IPv6.curl -4 URL
Mapuje host i port na adres, z pominięciem DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Wiąże transmisję z interfejsem sieciowym lub adresem.curl --interface eth0 URL
Przesyła wiele adresów URL jednocześnie.curl -Z URL1 URL2
Używa HTTP/2 lub HTTP/3 do transmisji.curl --http3 URL
Przesyła treść strumieniowo zamiast buforować.curl -N URL
Wczytuje kolejne flagi z pliku konfiguracyjnego.curl -K flags.cfg URL
Debugowanie
Wypisuje pełną wymianę żądania i odpowiedzi.curl -v URL
Zrzuca wszystko wysłane i odebrane w hex.curl --trace - URL