Skip to content

Σημαίες curl εξηγημένες

Οι σημαίες του curl που χρησιμοποιούνται καθημερινά, ομαδοποιημένες ανά εργασία: διαμόρφωση του αιτήματος, ορισμός κεφαλίδων, ταυτοποίηση, παρουσίαση ταυτότητας, έλεγχος εξόδου, παρακολούθηση ανακατευθύνσεων, ρύθμιση σύνδεσης και εντοπισμός σφαλμάτων. Κάθε γραμμή ζευγαρώνει τη σημαία με μια ρεαλιστική κλήση.

Το curl στέλνει ένα αίτημα HTTP και εκτυπώνει το σώμα της απάντησης. Το μεγαλύτερο μέρος της δύναμής του βρίσκεται στις σημαίες: επιλέγουν τη μέθοδο, επισυνάπτουν κεφαλίδες και δεδομένα, διαχειρίζονται την ταυτοποίηση και αποφασίζουν τι εκτυπώνεται. Η μακριά μορφή εμφανίζεται όπου είναι πιο σαφής· η σύντομη μορφή είναι το μονό γράμμα. Βάλτε τα URL σε εισαγωγικά, ώστε το shell να μην καταπιεί το query string.

Πίνακας αναφοράς · 54 καταχωρήσεις
54 of 54 rows
Διαμόρφωση αιτήματος
Ορίζει τη μέθοδο HTTP.curl -X POST https://api.test
Προσθέτει μια κεφαλίδα στο αίτημα.curl -H "Accept: application/json" URL
Στέλνει σώμα (ορίζει POST και έναν προεπιλεγμένο τύπο περιεχομένου).curl -d "name=Ada" URL
Προσθέτει τις τιμές του -d ως παραμέτρους ερωτήματος σε ένα GET.curl -G -d "q=hi" URL
Στέλνει δεδομένα πολυμερούς φόρμας (μεταφόρτωση αρχείων).curl -F "file=@photo.png" URL
Στέλνει δεδομένα φόρμας με εφαρμοσμένη κωδικοποίηση URL.curl --data-urlencode "name=Ada Lovelace" URL
Μεταφορτώνει ένα αρχείο με PUT.curl -T big.zip URL
Προσθέτει τη μεταφόρτωση στο απομακρυσμένο αρχείο αντί να το αντικαταστήσει.curl -a -T log.txt ftp://server.test/logs/log.txt
JSON και API
Στέλνει JSON με τον σωστό τύπο περιεχομένου.curl -H "Content-Type: application/json" -d '{"a":1}' URL
Στέλνει τα περιεχόμενα ενός αρχείου ως σώμα.curl -d @body.json URL
Στέλνει JSON χωρίς να ορίζει τις κεφαλίδες χειροκίνητα (curl 7.82+).curl --json '{"a":1}' URL
Ταυτοποίηση
Βασική ταυτοποίηση HTTP με χρήστη και κωδικό.curl -u ada:s3cr3t URL
Στέλνει ένα token bearer OAuth.curl --oauth2-bearer TOKEN URL
Στέλνει οποιοδήποτε σχήμα token χειροκίνητα.curl -H "Authorization: Bearer TOKEN" URL
Παρουσιάζει πιστοποιητικό πελάτη και το κλειδί του για αμφίδρομο TLS.curl --cert client.pem --key key.pem URL
Επαληθεύει τον διακομιστή με ένα μόνο αρχείο πακέτου CA.curl --cacert ca.pem URL
Επαληθεύει τον διακομιστή με έναν κατάλογο CA.curl --capath /etc/ssl/certs URL
Στέλνει το αίτημα μέσω διαμεσολαβητή.curl -x http://proxy.test:8080 URL
Παρακάμπτει την επαλήθευση TLS μόνο για το άλμα προς τον διαμεσολαβητή.curl -x https://proxy.test:8443 --proxy-insecure URL
Απαιτεί TLS 1.3 ως ελάχιστη έκδοση.curl --tlsv1.3 URL
Ταυτότητα
Στέλνει προσαρμοσμένη συμβολοσειρά User-Agent.curl -A "Mozilla/5.0" URL
Στέλνει κεφαλίδα Referer.curl -e https://example.com/page URL
Στέλνει cookies με το αίτημα.curl -b "session=abc123" URL
Αποθηκεύει τα cookies της απάντησης σε αρχείο.curl -c cookies.txt URL
Έξοδος
Γράφει το σώμα σε αρχείο.curl -o page.html URL
Αποθηκεύει το σώμα με το απομακρυσμένο όνομα αρχείου.curl -O https://site/file.tgz
Εκτυπώνει τις κεφαλίδες της απάντησης πάνω από το σώμα.curl -i URL
Φέρνει μόνο κεφαλίδες (στέλνει HEAD).curl -I URL
Αποκρύπτει τον μετρητή προόδου και τα σφάλματα.curl -s URL
Εκτυπώνει μια συμβολοσειρά μορφοποίησης μετά το σώμα (χρονισμός, κατάσταση).curl -w "%{http_code}\n" -o /dev/null URL
Τερματίζει με μη μηδενικό κωδικό σε σφάλματα HTTP και παρακάμπτει το σώμα σφάλματος.curl -f URL
Τερματίζει με μη μηδενικό κωδικό σε σφάλματα HTTP αλλά εκτυπώνει ακόμα το σώμα.curl --fail-with-body URL
Ονομάζει το αποθηκευμένο αρχείο από την κεφαλίδα Content-Disposition.curl -OJ URL
Συνεχίζει μια διακοπείσα μεταφορά από εκεί που σταμάτησε.curl -C - -O URL
Δείχνει μια μπάρα προόδου αντί για τον προεπιλεγμένο μετρητή.curl -# -O URL
Εκτυπώνει σφάλματα ακόμα και σε σιωπηλή λειτουργία.curl -sS URL
Γράφει τις κεφαλίδες της απάντησης σε αρχείο.curl -D headers.txt URL
Ζητά συμπιεσμένη απάντηση και την αποκωδικοποιεί.curl --compressed URL
Δημιουργεί τους καταλόγους που λείπουν στη διαδρομή του -o.curl -o cache/api/data.json --create-dirs URL
Ανακατευθύνσεις και σύνδεση
Ακολουθεί ανακατευθύνσεις 3xx.curl -L URL
Μέγιστα δευτερόλεπτα αναμονής για τη σύνδεση TCP.curl --connect-timeout 5 URL
Μέγιστα δευτερόλεπτα για όλο το αίτημα.curl --max-time 30 URL
Παρακάμπτει την επαλήθευση πιστοποιητικού TLS.curl -k https://self-signed.test
Επαναλαμβάνει παροδικά σφάλματα έως N φορές.curl --retry 3 URL
Επαναλαμβάνει σε οποιοδήποτε σφάλμα, όχι μόνο στα παροδικά.curl --retry 3 --retry-all-errors URL
Επιβάλλει τη σύνδεση μέσω IPv4 ή IPv6.curl -4 URL
Αντιστοιχίζει host και θύρα σε μια διεύθυνση, παρακάμπτοντας το DNS.curl --resolve api.test:443:127.0.0.1 https://api.test
Συνδέει τη μεταφορά σε μια διεπαφή δικτύου ή μια διεύθυνση.curl --interface eth0 URL
Μεταφέρει πολλά URL ταυτόχρονα.curl -Z URL1 URL2
Χρησιμοποιεί HTTP/2 ή HTTP/3 για τη μεταφορά.curl --http3 URL
Μεταδίδει το σώμα σε ροή καθώς φτάνει, αντί για προσωρινή αποθήκευση.curl -N URL
Διαβάζει περαιτέρω σημαίες από ένα αρχείο ρυθμίσεων.curl -K flags.cfg URL
Εντοπισμός σφαλμάτων
Εκτυπώνει την πλήρη ανταλλαγή αιτήματος και απάντησης.curl -v URL
Καταγράφει σε hex όλα όσα στάλθηκαν και ελήφθησαν.curl --trace - URL