Αν θέλετε να κάνετε λήψη αρχείων απευθείας από τη γραμμή εντολών του Linux, τότε υπάρχουν δύο εφαρμογές που έρχονται αμέσως στο μυαλό: Wget και cURL. Και τα δύο έχουν πολλά κοινά χαρακτηριστικά αλλά σίγουρα δεν είναι ακριβώς το ίδιο.
Τα προγράμματα αυτά κατέχουν ελαφρώς διαφορετικούς ρόλους και διαφορετικές περιπτώσεις χρήσης, με αποτέλεσμα κάθε ένα να είναι καλύτερο σε συγκεκριμένες καταστάσεις. Αλλά ας δούμε τις ομοιότητες, τις διαφορές τους και ποιο θα πρέπει κάθε φορά να χρησιμοποιείτε.
cURL vs Wget: Ομοιότητες
Και τα δύο προγράμματα, δηλαδή και το Wget και το cURL σας βοηθάνε για να κατεβάσετε αρχεία. Κατά βάση αυτό κάνουν. Μπορούν να πραγματοποιήσουν μία αίτηση στο διαδίκτυο και να κατεβάσουν το ζητούμενο στοιχείο, που θα μπορούσε να είναι ένα αρχείο, μία εικόνα, ή ακόμα και η πρώτη σελίδα μίας HTML ιστοσελίδας.
Και τα δύο προγράμματα είναι επίσης σε θέση να πραγματοποιήσουν αιτήματα HTTP POST. Αυτό σημαίνει ότι μπορούν να στείλουν δεδομένα σε ένα δικτυακό τόπο, όπως η συμπλήρωση μιας φόρμας.
Δεδομένου ότι και οι δύο είναι εργαλεία της γραμμής εντολών, έχουν σχεδιαστεί ώστε να δέχονται παραμέτρους και μπαίνουν σε scripts. Μπορείτε να συμπεριλάβετε και τα δύο προγράμματα, σαν εντολές, μέσα σε ένα script αρχείο, οι οποίες θα τρέχουν αυτόματα και θα σας κατεβάζουν ότι χρειάζεστε.
Wget Πλεονεκτήματα
To wget είναι απλό και εύκολο. Είναι ιδανικό για γρήγορες λήψεις, και κάνει εξαιρετική δουλειά. Επίσης το wget είναι ένα ενιαίο αυτόνομο πρόγραμμα και δεν απαιτεί καμία επιπλέον βιβλιοθήκη. Επειδή το wget είναι προσαρμοσμένο για άμεσες λήψεις, σας επιτρέπει να κατεβάσετε με την μία τα πάντα από μια σελίδα ή όλα τα αρχεία από έναν κατάλογο FTP.
Οι προεπιλογές του wget έχει επίσης έξυπνες. Καθορίζουν πώς να χειριστεί το πρόγραμμα πολλά πράγματα, όπως θα έκανε ένα κανονικό πρόγραμμα περιήγησης με τα cookies και τις ανακατευθύνσεις, χωρίς να χρειάζεται να προσθέσετε οποιαδήποτε διαμόρφωση.
cURL Πλεονεκτήματα
Το cURL από την άλλη, είναι ένα πολυ-εργαλείο. Σίγουρα, μπορεί να κατεβάσει περιεχόμενο από το διαδίκτυο. Αλλά μπορεί να κάνει πολύ περισσότερα από αυτό.
Το cURL τροφοδοτείται από την βιβλιοθήκη libcurl. Αυτό σημαίνει ότι μπορείτε να γράψετε ολόκληρο πρόγραμμα με βάση το cURL, στο οποίο θα βασιστείτε στην libcurl και να αποκτήστε πρόσβαση σε όλες τις λειτουργίες του.
Το ευρύ φάσμα των πρωτοκόλλων που διαθέτει το Curl ίσως είναι το μεγαλύτερο ατού του. Υποστηρίζει FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, POP3, IMAP, SMTP, RTMP και RTSP ενώ το wget υποστηρίζει μόνο HTTP, HTTPS and FTP. Το Curl μπορεί να σας δώσει πρόσβαση σε δικτυακούς τόπους μέσω HTTP, HTTPS και FTP και μπορεί να χειριστεί και στις δύο κατευθύνσεις. Μπορείτε δηλαδή να κατεβάσετε και να ανεβάσετε ένα ή περισσότερα αρχεία. Υποστηρίζει ακόμα και Samba. Μπορείτε να χρησιμοποιήσετε το cURL για την αποστολή και λήψη ηλεκτρονικού ταχυδρομείου.
Το cURL έχει επίσης και μερικά χαρακτηριστικά ασφαλείας. Υποστηρίζει βιβλιοθήκες SSL / TLS. Υποστηρίζει επίσης, και πρόσβαση στο Internet μέσω proxies, συμπεριλαμβανομένων των SOCKS. Αυτό σημαίνει ότι μπορείτε να χρησιμοποιήσετε cURL στο Tor.
Τέλος, το Curl υποστηρίζει και συμπίεση gzip για την πιο εύκολη αποστολή μεγάλου όγκου δεδομένων.
Ανακεφαλαιώνοντας
Ποιο θα πρέπει λοιπόν να χρησιμοποιείτε; Το cURL ή το wget; Εξαρτάται!!!. Αν θέλετε να κατεβάσετε κάτι γρήγορα χωρίς να χρειάζεται να ανησυχείτε για παραμέτρους, διακόπτες και σημαίες, τότε καλύτερα είναι να πάτε με το wget. Είναι απλό και κατεβάζει αυτό που θέλετε χωρίς να το πολυσκέφτεστε. Αν θέλετε να κάνετε κάτι πιο σύνθετο, τότε θα πρέπει το cURL να είναι η επιλογή σας.
Το cURL σας επιτρέπει να κάνετε πολλά περισσότερα. Μπορείτε να το φανταστείτε σαν μία εντολή σε ένα web browser. Υποστηρίζει κάθε πρωτόκολλο που μπορείτε να σκεφτείτε και μπορεί να σας παρέχει πρόσβαση και να αλληλεπιδρά με σχεδόν όλα τα online περιεχόμενα. Η μόνη διαφορά είναι ότι ένας browser ανταποκρίνεται στις απαντήσεις που λαμβάνει, ενώ το cURL δεν το κάνει.