Ποια είναι η σύνταξη της γραμμής εντολών cURL για την εκτέλεση ενός αιτήματος POST;

Πώς μπορώ να κάνω μια αίτηση POST με το εργαλείο γραμμής εντολών cURL;

Με πεδία:

curl --data "param1=value1&param2=value2" https://example.com/resource.cgi

Με πεδία που καθορίζονται ξεχωριστά:

curl --data "param1=value1" --data "param2=value2" https://example.com/resource.cgi

Multipart:

curl --form "fileupload=@my-file.txt" https://example.com/resource.cgi

Multipart με πεδία και ένα όνομα αρχείου:

curl --form "fileupload=@my-file.txt;filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi

Χωρίς δεδομένα:

curl --data '' https://example.com/resource.cgi

curl -X POST https://example.com/resource.cgi

curl --request POST https://example.com/resource.cgi

Για περισσότερες πληροφορίες δείτε το εγχειρίδιο cURL. Το σεμινάριο cURL για την εξομοίωση ενός προγράμματος περιήγησης στο διαδίκτυο είναι χρήσιμο.

Με τη libcurl, χρησιμοποιήστε τη συνάρτηση curl_formadd() για να δημιουργήσετε τη φόρμα σας πριν την υποβάλετε με τον συνηθισμένο τρόπο. Δείτε την τεκμηρίωση της libcurl για περισσότερες πληροφορίες.

Για μεγάλα αρχεία, εξετάστε το ενδεχόμενο να προσθέσετε παραμέτρους για να δείξετε την πρόοδο της μεταφόρτωσης:

curl --tr-encoding -X POST -v -# -o output -T filename.dat \
  http://example.com/resource.cgi

Το -o output είναι απαραίτητο, διαφορετικά δεν θα εμφανιστεί μπάρα προόδου.

Σχόλια (6)
curl -d "name=Rafael%20Sagula&phone=3320780" http://www.where.com/guest.cgi 

είναι το παράδειγμα που βρίσκεται στο Curl Example Manual.

Χρησιμοποιήστε το %26 για τις τελείες αν και αν το παραπάνω δεν λειτουργεί:

curl -d "name=Rafael%20Sagula%26phone=3320780" http://www.where.com/guest.cgi 
Σχόλια (0)
curl -v --data-ascii var=value http://example.com

και υπάρχουν πολλές ακόμα επιλογές, δείτε το curl --help για περισσότερες πληροφορίες.

Σχόλια (0)