Σε αυτό το άρθρο, θα συζητήσουμε τον τρόπο χρήσης curl
για αλληλεπίδραση με RESTful APIs. curl
είναι ένα βοηθητικό πρόγραμμα γραμμής εντολών που μπορεί να χρησιμοποιηθεί για την αποστολή αιτημάτων σε ένα API.
Τα αιτήματα API αποτελούνται από τέσσερα διαφορετικά μέρη:
GET
POST
PUT
DELETE
και PATCH
Η σύνταξη για το curl
η εντολή είναι:
curl [options] [URL...]
Οι επιλογές που θα καλύψουμε σε αυτήν την ανάρτηση είναι:
-X
ή --request
- Μέθοδος HTTP που θα χρησιμοποιηθεί-i
ή --include
- Συμπεριλάβετε τις κεφαλίδες απόκρισης-d
ή --data
- Τα δεδομένα που πρέπει να σταλούν στο API-H
ή --header
- Τυχόν πρόσθετες κεφαλίδες προς αποστολήΗ μέθοδος GET χρησιμοποιείται για φέρω έναν πόρο από έναν διακομιστή. Στο curl
, η μέθοδος GET είναι η προεπιλεγμένη μέθοδος, επομένως δεν χρειάζεται να την καθορίσουμε.
Παράδειγμα:
curl https://jsonplaceholder.typicode.com/posts
Μπορούμε επίσης να στείλουμε παραμέτρους ερωτήματος μαζί με το curl
Λάβετε αίτημα.
Παράδειγμα:
curl https://jsonplaceholder.typicode.com/posts?userId=5
Η μέθοδος POST χρησιμοποιείται για δημιουργώ έναν πόρο στο διακομιστή.
Για να στείλετε ένα curl
Αίτηση POST χρησιμοποιούμε την επιλογή -X POST
.
Παράδειγμα:
curl -X POST -d 'userId=5&title=Post Title&body=Post content.' https://jsonplaceholder.typicode.com/posts
Από προεπιλογή, curl
χρήσεις Content-Type: application/x-www-form-urlencoded
ως το Content-Type
κεφαλίδα, επομένως δεν χρειάζεται να το καθορίσουμε κατά την αποστολή δεδομένων φόρμας.
ΓΙΑ ΝΑ ΑΦΑΙΡΕΣΕΤΕ JSON από curl
πρέπει να καθορίσουμε το Content-Type
ως application/json
.
Παράδειγμα:
curl -X POST -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'Post Title', 'body': 'Post content.'}'
https://jsonplaceholder.typicode.com/posts
Η μέθοδος PUT χρησιμοποιείται για εκσυγχρονίζω ή αντικαθιστώ έναν πόρο στο διακομιστή. Αντικαθιστά όλα τα δεδομένα του καθορισμένου πόρου με τα παρεχόμενα δεδομένα αιτήματος.
Σημείωση:Για ένα αίτημα PUT, πρέπει να παρέχουμε όλα τα δεδομένα στο σώμα αιτήσεων.Για να στείλετε ένα curl
Αίτημα PUT χρησιμοποιούμε την επιλογή -X PUT
.
Παράδειγμα:
curl -X PUT -H 'Content-Type: application/json'
-d '{'userId': 5, 'title': 'New Post Title', 'body': 'New post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Το παραπάνω αίτημα PUT θα αντικαταστήσει την ανάρτησή μας που δημιουργήθηκε προηγουμένως με το 'New post title' και 'New post body'
Η μέθοδος PATCH χρησιμοποιείται για την κατασκευή μερικές ενημερώσεις στον πόρο του διακομιστή.
Σημείωση:Για ένα αίτημα PATCH, δεν χρειάζεται να παρέχουμε όλα τα δεδομένα. Στέλνουμε μόνο τα δεδομένα που θέλουμε να ενημερώσουμε.Για να στείλετε ένα curl
Αίτημα PATCH χρησιμοποιούμε την επιλογή -X PATCH
.
Παράδειγμα:
curl -X PATCH -H 'Content-Type: application/json'
-d '{'userId': 5, 'body': 'Updated post content.'}'
https://jsonplaceholder.typicode.com/posts/5
Παρατηρήστε πώς στέλνουμε μόνο το σώμα με 'Ενημερωμένο περιεχόμενο ανάρτησης' καθώς κάνουμε μια μερική ενημέρωση.
Η μέθοδος DELETE χρησιμοποιείται για την κατάργηση του καθορισμένου πόρου από το διακομιστή.
Για να στείλετε ένα curl
ΔΙΑΓΡΑΦΗ αιτήματος χρησιμοποιούμε την επιλογή -X DELETE
.
curl -X DELETE https://jsonplaceholder.typicode.com/posts/5
Σημείωση:Η μέθοδος DELETE δεν έχει σώμα.Μερικές φορές ένα τελικό σημείο του API έχει περιορισμένη πρόσβαση και θα εξυπηρετεί μόνο αιτήματα σε χρήστες με έλεγχο ταυτότητας και εξουσιοδότηση. Για αυτά τα αιτήματα, πρέπει να παρέχουμε ένα διακριτικό πρόσβασης στην κεφαλίδα του αιτήματος.
Για να στείλετε ένα curl
κεφαλίδα, χρησιμοποιούμε: -H
επιλογή.
Το ακόλουθο αίτημα αποστέλλει αίτημα POST με διακριτικό κομιστή στην κεφαλίδα:
curl -X POST https://some-web-url/api/v1/users -H 'Accept: application/json' -H 'Content-Type: application/json' -H 'Authorization: Bearer {ACCESS_TOKEN}' -H 'cache-control: no-cache' -d '{ 'username' : 'myusername', 'email' : 'myusername@gmail.com', 'password' : 'Passw0rd123!' }'
Σε αυτήν την ανάρτηση μάθαμε πώς να στέλνουμε αιτήματα HTTP (GET, POST, PUT, PATCH και DELETE) σε ένα API χρησιμοποιώντας εντολές curl.