Πώς να χρησιμοποιήσετε τα δεδομένα καταχώρησης cURL από το αρχείο

How Use Curl Post Data From File



Το cURL είναι ένα δωρεάν βοηθητικό πρόγραμμα γραμμής εντολών ανοιχτού κώδικα που χρησιμοποιείται για τη μεταφορά δεδομένων προς ή από έναν απομακρυσμένο κεντρικό υπολογιστή με ελάχιστη αλληλεπίδραση χρήστη. Το cURL λειτουργεί με πρωτεύοντα πρωτόκολλα όπως HTTP, FTP, SCP και SFTP.

Επιτρέπει στους χρήστες να ανεβάζουν και να κατεβάζουν δεδομένα είτε χρησιμοποιώντας μεμονωμένες εντολές είτε σενάρια bash. Παρέχει επίσης δυνατότητες όπως έλεγχος ταυτότητας χρήστη, σήραγγα μεσολάβησης, λήψη βιογραφικών, μεταφορτώσεις βάσει φόρμας, πιστοποιητικά SSL και πολλά άλλα. Είναι ασφαλές να πούμε ότι το cURL είναι κάτι περισσότερο από ένα πρόγραμμα -πελάτης HTTP.







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



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



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





Πώς να εγκαταστήσετε το cURL

Στις περισσότερες περιπτώσεις, θα βρείτε cURL εγκατεστημένο σε μεγάλες διανομές Linux από προεπιλογή. Για να επιβεβαιώσετε ότι έχετε cURL, χρησιμοποιήστε την εντολή

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

Εάν εμφανιστεί σφάλμα:



-bash: curl:εντολήδεν βρέθηκε

Θα χρειαστεί να το εγκαταστήσετε πριν προχωρήσετε.

Χρησιμοποιήστε τον προεπιλεγμένο διαχειριστή πακέτων για να ολοκληρώσετε την εγκατάσταση όπως φαίνεται στις παρακάτω εντολές:

sudo apt-get ενημέρωση

sudo apt-get installμπούκλα-και

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

cURL POST Αίτημα

Το αίτημα ανάρτησης HTTP είναι μία από τις πιο δημοφιλείς μεθόδους αιτήματος HTTP/HTTPS που χρησιμοποιείται για την αποστολή δεδομένων σε απομακρυσμένο κεντρικό υπολογιστή για τη δημιουργία ή την ενημέρωση ενός πόρου.

Τώρα :

Μην συγχέετε τη μέθοδο με το PUT. αν και μοιάζουν αρκετά, έχουν τις διαφορές τους.

Τα δεδομένα που αποστέλλονται χρησιμοποιώντας ένα αίτημα POST αποθηκεύονται κυρίως στο σώμα αιτήματος του αιτήματος HTTP.

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

ΘΕΣΗ/περιορισμένος/login.php HTTP/1.1Κεντρικός υπολογιστής: linuxhint.com Τύπος περιεχομένου: εφαρμογή/x-www-form-urlencodedόνομα χρήστη= linuxhint&Κωδικός πρόσβασης= κωδικός πρόσβασης

Για να στείλουμε το παραπάνω αίτημα POST χρησιμοποιώντας cURL, μπορούμε να καθορίσουμε τις εντολές ως:

μπούκλαΘΕΣΗ-ρε όνομα χρήστη= linuxhint&Κωδικός πρόσβασης= κωδικός πρόσβασης https://linuxhint.com/περιορισμένος/login.php

Στην παραπάνω εντολή, χρησιμοποιήσαμε την επιλογή -d για να πούμε στο cURL να συμπεριλάβει τις προεπιλεγμένες κεφαλίδες, που είναι Content-Type: application/x-www-form-urlencoded

Η επιλογή -X καθορίζει τη μέθοδο αιτήματος HTTP για χρήση, σε αυτήν την περίπτωση, αίτημα POST HTTP.

cURL Καθορισμός τύπου περιεχομένου

Σε ορισμένες περιπτώσεις, μπορεί να θέλουμε να καθορίσουμε [ρητά] τον Τύπο περιεχομένου κατά την αποστολή του αιτήματος. Η οντότητα Content-Type στην κεφαλίδα καθορίζει τον τύπο του μέσου εκτύπωσης του πόρου που στέλνουμε. Ο τύπος μέσων είναι επίσης κοινώς γνωστός ως τύπος MIME.

Εάν θέλετε να μάθετε για τους τύπους MIME, λάβετε υπόψη τον παρακάτω πόρο:

https://linkfy.to/IANA-MIME-Types

Για να καθορίσετε τον τύπο περιεχομένου σε ένα αίτημα cURL, μπορούμε να χρησιμοποιήσουμε τη σημαία -H. Για παράδειγμα, ας στείλουμε MIME Τύπος εφαρμογής/JSON.

μπούκλαΘΕΣΗ-ρε {όνομα χρήστη: linuxhint, κωδικός πρόσβασης: κωδικός πρόσβασης} Περιεχόμενο-Τύπος: εφαρμογή/json https://linuxhint.com/περιορισμένος/login.php

Τα παραπάνω καθορίζουν ότι θέλουμε να στείλουμε ένα αντικείμενο JSON στην παρεχόμενη διεύθυνση URL. Μπορείτε να το χρησιμοποιήσετε για να διαβάσετε τις τιμές από ένα αρχείο JSON ή να το στείλετε ως ακατέργαστο.

Πώς να διαβάσετε δεδομένα από ένα αρχείο

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

Το αρχείο JSON (data.json) περιέχει τις ακόλουθες τιμές:

{
'όνομα χρήστη':'linuxhint',
'Κωδικός πρόσβασης':'Κωδικός πρόσβασης'
}

Για να στείλουμε αυτά τα δεδομένα από ένα αρχείο JSON, μπορούμε να χρησιμοποιήσουμε το -d και στη συνέχεια να περάσουμε το όνομα αρχείου όπως φαίνεται στην παρακάτω εντολή:

μπούκλαΘΕΣΗΠεριεχόμενο-Τύπος: εφαρμογή/json-ρε @data.json https://linuxhint.com/περιορισμένος/login.php

Μπορείτε επίσης να χρησιμοποιήσετε την δυαδική επιλογή –δεδομένα.

μπούκλαΘΕΣΗΠεριεχόμενο-Τύπος: εφαρμογή/json--δεδομένα-δυαδικά @ /Σπίτι/χρήστης/data.json https://linuxhint.com/περιορισμένος/login.php

Μπορείτε επίσης να χρησιμοποιήσετε ένα αρχείο κειμένου για να στείλετε τα δεδομένα. το μόνο που χρειάζεται να καθορίσετε είναι ο Τύπος περιεχομένου ως κείμενο/απλό.

Για παράδειγμα, ένα αρχείο κειμένου (data.txt) που περιέχει τις ακόλουθες τιμές

όνομα χρήστη= linuxhint&Κωδικός πρόσβασης= κωδικός πρόσβασης

Χρησιμοποιώντας την εντολή cURL, απλώς στείλτε το αίτημα ως:

μπούκλαΘΕΣΗΠεριεχόμενο-Τύπος: κείμενο/πεδιάδα-ρεdata.txt https://linuxhint.com/περιορισμένος/login.php

Μπορείτε να χρησιμοποιήσετε άλλους τύπους αρχείων που μπορείτε να χρησιμοποιήσετε, όπως XML, HTML και πολλά άλλα.

συμπέρασμα

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

https://curl.se/docs/

Σας ευχαριστούμε που διαβάσατε και διασκεδάστε με το cURL.