Πώς να στείλετε αιτήματα POST με το cURL

Πώς να στείλετε αιτήματα POST με το cURL

Το cURL είναι ένα ευέλικτο βοηθητικό πρόγραμμα γραμμής εντολών που έχει σχεδιαστεί για απρόσκοπτη μεταφορά δεδομένων σε διαφορετικά πρωτόκολλα δικτύου, συμπεριλαμβανομένων των HTTP, HTTPS και FTP. Διαθέσιμο σε όλα τα μεγάλα λειτουργικά συστήματα, το cURL έχει γίνει το τυπικό εργαλείο για την αποστολή αιτημάτων HTTP από τη γραμμή εντολών. Το βοηθητικό πρόγραμμα πολλαπλών πλατφορμών υποστηρίζει πρωτόκολλα όπως HTTP, HTTPS, FTP και IMAP, καθιστώντας εύκολη την αποστολή αιτημάτων σε API και τη διαγραφή ιστοτόπων. Λόγω της ευρείας διαθεσιμότητάς του και της υποστήριξης πρωτοκόλλου, το cURL αναφέρεται συνήθως στην τεκμηρίωση του REST API ως ένας γρήγορος τρόπος δοκιμής κλήσεων API απευθείας από τη γραμμή εντολών.

Αυτό το σεμινάριο εμβαθύνει στην εκτέλεση αιτημάτων POST χρησιμοποιώντας το cURL, επιτρέποντας αποτελεσματική επικοινωνία με διακομιστές μέσω απλών οδηγιών γραμμής εντολών.

Τι είναι ένα αίτημα POST;

Ένα αίτημα POST είναι μια μέθοδος HTTP που χρησιμοποιείται για την αποστολή δεδομένων σε διακομιστή και είναι μια από τις πιο κοινές μεθόδους HTTP. Σε αντίθεση με τα αιτήματα GET, όπου τα δεδομένα περιλαμβάνονται στη διεύθυνση URL, τα αιτήματα POST μεταδίδουν δεδομένα στο σώμα αιτήματος. Αυτό επιτρέπει τη διακριτική μεταφορά δεδομένων και αποφεύγει τους περιορισμούς μήκους διεύθυνσης URL που επιβάλλονται από τα προγράμματα περιήγησης στα αιτήματα GET.

Τα αιτήματα POST χρησιμοποιούνται συχνά για υποβολές φορμών, μεταφορτώσεις αρχείων και αποστολή δεδομένων JSON σε API. Δεδομένου ότι τα δεδομένα αποθηκεύονται στο σώμα αιτήματος, δεν είναι ορατά στο ιστορικό του προγράμματος περιήγησης και, σε αντίθεση με τα αιτήματα GET, τα αιτήματα POST συνήθως δεν αποθηκεύονται προσωρινά από τα προγράμματα περιήγησης.

Πρακτικές περιπτώσεις χρήσης για αιτήματα cURL POST

Τα αιτήματα cURL POST χρησιμοποιούνται ευρέως σε διάφορα σενάρια, όπως:

  • Δοκιμή REST API – Οι προγραμματιστές χρησιμοποιούν το cURL για να δοκιμάσουν γρήγορα τα τελικά σημεία του API πριν τα εφαρμόσουν σε εφαρμογές.
  • Αυτοματοποίηση υποβολών φορμών – Χρησιμοποιώντας το cURL, μπορείτε να αυτοματοποιήσετε τις αλληλεπιδράσεις με φόρμες ιστού, υποβάλλοντας δεδομένα χωρίς μη αυτόματη εισαγωγή.
  • Μεταφόρτωση αρχείων – Πολλά API επιτρέπουν τη μεταφόρτωση αρχείων χρησιμοποιώντας αιτήματα POST, καθιστώντας το cURL ένα αποτελεσματικό εργαλείο για την αυτοματοποίηση αυτής της διαδικασίας.
  • Αλληλεπίδραση με συστήματα ελέγχου ταυτότητας – Οι προγραμματιστές μπορούν να χρησιμοποιήσουν το cURL για τον έλεγχο ταυτότητας των χρηστών και την πρόσβαση σε προστατευμένους πόρους με διακριτικά ή διαπιστευτήρια API.
  • Απόξεση και ενσωμάτωση δεδομένων – Η εξαγωγή και η ενσωμάτωση δεδομένων από διαφορετικές διαδικτυακές πηγές απλοποιείται χρησιμοποιώντας τις δυνατότητες αιτήματος POST του cURL.

Εκτέλεση αιτήματος POST με το cURL

Για να ξεκινήσετε να χρησιμοποιείτε το cURL για αιτήματα POST, βεβαιωθείτε ότι είναι εγκατεστημένο στο σύστημά σας. Εάν δεν το έχετε εγκαταστήσει ακόμα, ανατρέξτε στον οδηγό μας για τη ρύθμιση του cURL. Ακολουθεί ένας πίνακας αναφοράς που συνοψίζει τις βασικές επιλογές cURL:

Σύντομη σημαία

Μακρά Σημαία

Επιχείρημα(α)

Περιγραφή

--αίτηση

(χρησιμοποιήστε "POST" για αιτήματα POST)

Καθορίζει τη μέθοδο HTTP για το αίτημα

-σι

--κουλουράκι

Στέλνει cookies στο αίτημα

-ντο

--μπισκοτάκι-βάζο

Αποθηκεύει τα ληφθέντα cookies σε ένα αρχείο

-ρε

--δεδομένα

Μεταδίδει δεδομένα σε ένα αίτημα POST

-φά

--αποτυγχάνω

Εξασφαλίζει σιωπηρή αποτυχία σε σφάλματα διακομιστή

-ΦΑ

--μορφή

<όνομα=περιεχόμενο>

Υποβάλλει δεδομένα φόρμας (application/x-www-form-urlencoded)

--επί κεφαλής

κεφαλίδα/@αρχείο

Περιλαμβάνει προσαρμοσμένες κεφαλίδες HTTP

-εγώ

--συμπεριλαμβάνω

Εμφανίζει κεφαλίδες HTTP στην απόκριση

-μεγάλο

--κεφάλι

Ανακτά μόνο κεφαλίδες

--ανασφαλής

Παρακάμπτει την επαλήθευση SSL

-ΜΕΓΑΛΟ

--τοποθεσία

Ακολουθεί ανακατευθύνσεις (3XX)

-ο

--παραγωγή

Αποθηκεύει την έξοδο σε ένα καθορισμένο αρχείο

--απομακρυσμένο όνομα

Αποθηκεύει την έξοδο με το απομακρυσμένο όνομα αρχείου

-μικρό

--σιωπηλός

Καταστέλλει μηνύματα εξόδου

-v

--πολύλογος

Ενεργοποιεί λεπτομερή έξοδο (debugging)

-w

--διαγραφή

Εξάγει λεπτομέρειες απόκρισης

Για να δείτε την πλήρη λίστα των διαθέσιμων επιλογών, χρησιμοποιήστε:

μπούκλα --βοήθεια

Συνήθη σφάλματα και πώς να τα διορθώσετε

Παρόλο που το cURL είναι ισχυρό, οι χρήστες συχνά αντιμετωπίζουν σφάλματα κατά την αποστολή αιτημάτων POST. Ακολουθούν ορισμένα κοινά ζητήματα και λύσεις:

  • curl: (6) Δεν ήταν δυνατή η επίλυση του κεντρικού υπολογιστή – Αυτό σημαίνει ότι το όνομα τομέα είναι λανθασμένο ή υπάρχει πρόβλημα επίλυσης DNS. Ελέγξτε ξανά τη διεύθυνση URL.
  • curl: (7) Αποτυχία σύνδεσης με τον κεντρικό υπολογιστή – Υποδεικνύει ότι ο διακομιστής δεν είναι προσβάσιμος. Βεβαιωθείτε ότι ο διακομιστής είναι συνδεδεμένος και ότι έχετε ενεργή σύνδεση στο Διαδίκτυο.
  • curl: (35) Σφάλμα σύνδεσης SSL – Εάν το αίτημα αποτύχει λόγω προβλημάτων SSL, δοκιμάστε να χρησιμοποιήσετε το -k για να παρακάμψετε την επαλήθευση SSL.
  • HTTP 400 Bad Request – Αυτό σημαίνει ότι ο διακομιστής απέρριψε το αίτημα, συχνά λόγω εσφαλμένης μορφής δεδομένων. Ελέγξτε τον τύπο περιεχομένου και το ωφέλιμο φορτίο δεδομένων.
  • HTTP 401 Unauthorized – Εμφανίζεται όταν απαιτείται έλεγχος ταυτότητας αλλά λείπει ή είναι εσφαλμένος. Βεβαιωθείτε ότι τα κλειδιά ή τα διαπιστευτήρια API έχουν περάσει σωστά με -u ή -H "Authorization: Bearer <token>".

Βασική σύνταξη αιτήματος POST

curl -X POST -d "Hello" https://example.com/api

Σε αυτή την εντολή:

  • -Το X POST καθορίζει τον τύπο αιτήματος.
  • -d "Hello" ορίζει τα δεδομένα που αποστέλλονται.
  • Το https://example.com/api είναι το URL-στόχος.

Ρύθμιση κεφαλίδων τύπου περιεχομένου

curl -X POST -H "Content-Type: text/plain" -d "Hello" https://example.com/api

Η προσθήκη -H "Content-Type: text/plain" ενημερώνει τον διακομιστή ότι η μορφή δεδομένων είναι απλό κείμενο.

Αποστολή δεδομένων JSON

curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api

Η χρήση της εφαρμογής/json ως τύπου περιεχομένου διασφαλίζει ότι τα δεδομένα ερμηνεύονται σωστά ως JSON.

Αποστολή δεδομένων XML

curl -X POST -H "Content-Type: application/xml" -d '<?xml version="1.0" encoding="UTF-8"?><root><name>John Doe</name><age>30</age></root>' https://example.com/api

Μεταφόρτωση αρχείων με POST

curl -X POST -F "file=@/path/to/img.png" https://example.com/api/upload

Για μεταφορτώσεις πολλαπλών αρχείων:

curl -X POST -F "file=@/path/to/img1.png" -F "file=@/path/to/img2.png" https://example.com/api/upload

Έλεγχος ταυτότητας με cURL

curl -u username:password https://example.com/login

Αντικαταστήστε το όνομα χρήστη και τον κωδικό πρόσβασης με τα πραγματικά διαπιστευτήρια.

Σύναψη

Το cURL απλοποιεί τις αλληλεπιδράσεις HTTP με τις ισχυρές και ευέλικτες επιλογές της γραμμής εντολών. Με τον έλεγχο των αιτημάτων POST, οι προγραμματιστές μπορούν να διαχειριστούν αποτελεσματικά τις επικοινωνίες API, τις μεταδόσεις δεδομένων και τις μεταφορτώσεις αρχείων. Είτε θέλετε να δοκιμάσετε τελικά σημεία API, να αυτοματοποιήσετε τις υποβολές φορμών ή να αφαιρέσετε δεδομένα από ιστότοπους, το cURL παρέχει μια ελαφριά και αποτελεσματική λύση. Συνεχίστε να πειραματίζεστε με το cURL για να βελτιστοποιήσετε τη ροή εργασίας σας!

Σημειώστε ότι το Plisio σας προσφέρει επίσης:

Δημιουργήστε κρυπτογραφικά τιμολόγια με 2 κλικ and Αποδεχτείτε δωρεές κρυπτογράφησης

14 ενσωματώσεις

10 βιβλιοθήκες για τις πιο δημοφιλείς γλώσσες προγραμματισμού

19 κρυπτονομίσματα και 12 blockchain

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.