Android

Curl εντολή στο linux με παραδείγματα

Πρόγνωση καιρού μέσω του τερματικού των Linux

Πρόγνωση καιρού μέσω του τερματικού των Linux

Πίνακας περιεχομένων:

Anonim

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

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

Εγκατάσταση του Curl

Το πακέτο curl είναι προεγκατεστημένο στις περισσότερες διανομές Linux σήμερα.

Για να ελέγξετε αν το πακέτο Curl είναι εγκατεστημένο στο σύστημά σας, ανοίξτε την κονσόλα σας, πληκτρολογήστε curl και πατήστε enter. Αν έχετε εγκαταστήσει curl , το σύστημα θα εκτυπώσει curl: try 'curl --help' or 'curl --manual' for more information . Διαφορετικά, θα δείτε κάτι που curl command not found .

Αν δεν είναι εγκατεστημένη η curl , μπορείτε να την εγκαταστήσετε εύκολα χρησιμοποιώντας το διαχειριστή πακέτων της διανομής σας.

Εγκαταστήστε το Curl στο Ubuntu και στο Debian

sudo apt update sudo apt install curl

Εγκαταστήστε το Curl σε CentOS και Fedora

sudo yum install curl

Πώς να χρησιμοποιήσετε το Curl

Η σύνταξη για την εντολή curl έχει ως εξής:

curl

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

Για παράδειγμα, για να ανακτήσετε την αρχική σελίδα του example.com θα εκτελέσετε:

curl example.com

Η εντολή θα εκτυπώσει τον πηγαίο κώδικα της αρχικής σελίδας του example.com στο παράθυρο του τερματικού σας.

Αν δεν έχει καθοριστεί πρωτόκολλο, η curl προσπαθεί να μαντέψει το πρωτόκολλο που θέλετε να χρησιμοποιήσει και θα προεπιλέξει το HTTP .

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

Για να αποθηκεύσετε το αποτέλεσμα της εντολής curl , χρησιμοποιήστε είτε την επιλογή -o είτε -O .

Το πεζά -o αποθηκεύει το αρχείο με ένα προκαθορισμένο όνομα αρχείου, το οποίο στο παρακάτω παράδειγμα είναι vue-v2.6.10.js :

curl -o vue-v2.6.10.js

Μεγάλο μέγεθος -O αποθηκεύει το αρχείο με το αρχικό του όνομα αρχείου:

curl -O

Κάντε λήψη πολλών αρχείων

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

Στο παρακάτω παράδειγμα, κατεβάζουμε τα αρχεία iso του Arch Linux και του Debian:

curl -O http://mirrors.edge.kernel.org/archlinux/iso/2018.06.01/archlinux-2018.06.01-x86_64.iso \ -O

Συνέχιση λήψης

Μπορείτε να συνεχίσετε τη λήψη χρησιμοποιώντας την επιλογή -C - . Αυτό είναι χρήσιμο εάν η σύνδεσή σας πέσει κατά τη διάρκεια της λήψης ενός μεγάλου αρχείου και αντί να ξεκινήσετε τη λήψη από την αρχή, μπορείτε να συνεχίσετε την προηγούμενη.

Για παράδειγμα, εάν κάνετε λήψη του iso αρχείο Ubuntu 18.04 χρησιμοποιώντας την ακόλουθη εντολή:

curl -O

και ξαφνικά η σύνδεσή σας πέφτει μπορείτε να συνεχίσετε τη λήψη με:

curl -C - -O

Αποκτήστε τις κεφαλίδες HTTP μιας διεύθυνσης URL

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

Χρησιμοποιήστε την επιλογή -I για να ανακτήσετε μόνο τις κεφαλίδες HTTP του καθορισμένου πόρου:

curl -I --http2

Η επιλογή -L καθοδηγεί την curl να ακολουθήσει οποιαδήποτε ανακατεύθυνση μέχρι να φτάσει στον τελικό προορισμό:

curl -L google.com

Αλλάξτε το User-Agent

Μερικές φορές κατά τη λήψη ενός αρχείου, ο απομακρυσμένος διακομιστής ενδέχεται να έχει ρυθμιστεί για να αποκλείσει το Curl User-Agent ή για να επιστρέψει διαφορετικό περιεχόμενο ανάλογα με τη συσκευή επισκέψεως και το πρόγραμμα περιήγησης.

Σε περιπτώσεις όπως αυτή για να μιμηθεί ένα διαφορετικό πρόγραμμα περιήγησης, χρησιμοποιήστε την επιλογή -A .

Για παράδειγμα, για να μιμηθεί τον Firefox 60 θα χρησιμοποιούσατε:

curl -A "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0"

Καθορίστε ένα μέγιστο ποσοστό μεταφοράς

Η επιλογή --limit-rate σας επιτρέπει να περιορίσετε την ταχύτητα μεταφοράς δεδομένων. Η τιμή μπορεί να εκφράζεται σε bytes, kilobyte με το επίθημα k , megabyte με το επίθημα m και gigabyte με το g επίθημα.

Στο ακόλουθο παράδειγμα, η curl θα κατεβάσει το δυαδικό αρχείο Go και θα περιορίσει την ταχύτητα λήψης σε 1 mb:

curl --limit-rate 1m -O

Αυτή η επιλογή είναι χρήσιμη για να αποφευχθεί η curl καταναλώνει όλο το διαθέσιμο εύρος ζώνης.

Μεταφορά αρχείων μέσω FTP

Για να αποκτήσετε πρόσβαση σε προστατευμένο διακομιστή FTP με curl , χρησιμοποιήστε την επιλογή -u και καθορίστε το όνομα χρήστη και τον κωδικό πρόσβασης όπως φαίνεται παρακάτω:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Μόλις συνδεθεί, η εντολή αναφέρει όλα τα αρχεία και τους καταλόγους στον οικείο κατάλογο του χρήστη.

Μπορείτε να κάνετε λήψη ενός αρχείου από το διακομιστή FTP χρησιμοποιώντας την ακόλουθη σύνταξη:

curl -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/file.tar.gz

Για να ανεβάσετε ένα αρχείο στο διακομιστή FTP, χρησιμοποιήστε το -T ακολουθούμενο από το όνομα του αρχείου που θέλετε να μεταφορτώσετε:

curl -T newfile.tar.gz -u FTP_USERNAME:FTP_PASSWORD ftp://ftp.example.com/

Αποστολή cookies

Μερικές φορές μπορεί να χρειαστεί να κάνετε ένα αίτημα HTTP με συγκεκριμένα cookies για να αποκτήσετε πρόσβαση σε έναν απομακρυσμένο πόρο ή για να διορθώσετε κάποιο πρόβλημα.

Από προεπιλογή, όταν ζητείται ένας πόρος με curl , δεν αποστέλλονται ή αποθηκεύονται cookies.

Για να στείλετε τα cookies στον διακομιστή, χρησιμοποιήστε το διακόπτη -b ακολουθούμενο από ένα όνομα αρχείου που περιέχει τα cookies ή μια συμβολοσειρά.

Για παράδειγμα, για να κάνετε λήψη του αρχείου rpm JDK Java JDK jdk-10.0.2_linux-x64_bin.rpm , θα χρειαστεί να περάσετε ένα cookie με όνομα oraclelicense με την τιμή a :

curl -L -b "oraclelicense=a" -O

Χρησιμοποιώντας Proxies

curl υποστηρίζει διαφορετικούς τύπους πληρεξουσίων, συμπεριλαμβανομένων των HTTP, HTTPS και SOCKS. Για να μεταφέρετε δεδομένα μέσω διακομιστή μεσολάβησης, χρησιμοποιήστε την επιλογή -x ( --proxy ), ακολουθούμενη από τη διεύθυνση URL του διακομιστή μεσολάβησης.

Η ακόλουθη εντολή μεταφορτώνει τον καθορισμένο πόρο χρησιμοποιώντας ένα διακομιστή μεσολάβησης στη θύρα 8888 :

curl -x 192.168.44.1:8888

Εάν ο διακομιστής μεσολάβησης απαιτεί έλεγχο ταυτότητας, χρησιμοποιήστε την επιλογή -U ( --proxy-user ) ακολουθούμενη από το όνομα χρήστη και τον κωδικό πρόσβασης που χωρίζονται από ένα τελεία ( user:password ):

curl -U username:password -x 192.168.44.1:8888

συμπέρασμα

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

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

Για περισσότερες πληροφορίες σχετικά με την curl επισκεφτείτε τη σελίδα Documentation Curl.

κουρτίνες