Συχνά είναι καλύτερο να αποτύχεις γρήγορα παρά να συνεχίσεις να περιμένεις με την ελπίδα της επιτυχίας.
Όταν πρόκειται για την υποβολή αιτημάτων ιστού, ο συγχρονισμός είναι ζωτικής σημασίας. Σε κανέναν δεν αρέσει να περιμένει ατελείωτα για να φορτώσει μια ιστοσελίδα ή να απαντήσει ένας διακομιστής. Εάν χρησιμοποιείτε το curl για τη λήψη δεδομένων από τον ιστό, θα χαρείτε να μάθετε ότι υπάρχουν τρόποι να βάλετε ένα όριο στο χρόνο που χρειάζονται τα αιτήματά σας.
Δείτε πώς μπορείτε να περιορίσετε τον χρόνο αιτήματος curl για να βεβαιωθείτε ότι διατηρείτε τον έλεγχο των λειτουργιών ανάκτησης δεδομένων.
Μέθοδος 1: Χρήση της επιλογής --max-time
Ενώ εκτελώντας την εντολή curl, μπορείτε να καθορίσετε το -Μ ή --μέγιστος χρόνος επιλογή για να ορίσετε ένα αυστηρό χρονικό όριο στο αίτημα. Αυτή η επιλογή σάς επιτρέπει να καθορίσετε τον μέγιστο χρόνο, σε δευτερόλεπτα, που είστε διατεθειμένοι να αφήσετε την εντολή να λάβει πριν εξέλθει με κωδικό σφάλματος χρονικού ορίου (28):
curl --max-timе [sеconds] [URL]
Μπορείτε να ορίσετε το μέγιστο με δεκαδική ακρίβεια, όπου το 0,3 σημαίνει 300 χιλιοστά του δευτερολέπτου, το 5,46 ισούται με 5.460 χιλιοστά του δευτερολέπτου και το 20 σημαίνει 20 δευτερόλεπτα.
Για παράδειγμα:
curl -o test.md --max-time 30 https://github.com/test/file1
Αυτή η εντολή στέλνει ένα αίτημα στην παρεχόμενη διεύθυνση URL του GitHub. Θα αποθηκεύσει τα δεδομένα απόκρισης ως test.md και θα τελειώσει μέσα σε μέγιστο χρόνο 30 δευτερολέπτων.
Μέθοδος 2: Χρήση της επιλογής --connect-timeout
Για να ελέγξετε τον χρόνο που ξοδεύει το curl στην προσπάθεια σύνδεσης σε έναν κεντρικό υπολογιστή, χρησιμοποιήστε το σύνδεση χρονικού ορίου επιλογή. Αυτό ορίζει ένα μέγιστο χρονικό όριο για την ολοκλήρωση των βημάτων σύνδεσης, μεταξύ των οποίων Αναζήτηση DNS και επακόλουθες χειραψίες TCP, TLS ή QUIC.
Εάν το curl δεν μπορεί να δημιουργήσει μια σύνδεση εντός του χρονικού πλαισίου που καθορίζετε, θα εξέλθει με κωδικό σφάλματος χρονικού ορίου (28):
curl --connect-timeout [seconds] [URL]
Για παράδειγμα:
curl -o test.md --connect-time 20 https://github.com/test/file
Εδώ, η εντολή curl ανακτά το αρχείο που καθορίζεται στη διεύθυνση URL, το αποθηκεύει ως test.md και επιβάλλει ένα όριο 20 δευτερολέπτων για τη δημιουργία της σύνδεσης με τον διακομιστή.
Ελέγξτε τα αιτήματα Curl για γρήγορη ανάκτηση
Σε έναν κόσμο όπου ο χρόνος είναι χρήμα, το να μπορείς να περιορίσεις τον χρόνο αιτήματος για μπούκλες είναι μια εύχρηστη δεξιότητα. Είτε επιλέξετε την επιλογή --connect-timeout ή --max-time επιλογή, αναλαμβάνετε τις εργασίες ανάκτησης δεδομένων σας. Έτσι, δεν υπάρχει πλέον ατελείωτη αναμονή, ήρθε η ώρα να κάνετε αποτελεσματικά, ελεγχόμενα αιτήματα ιστού.
Την επόμενη φορά που θα βρεθείτε να περιμένετε να ολοκληρωθεί ένα αίτημα για μπούκλες, θυμηθείτε αυτές τις μεθόδους και κάντε το curl να λειτουργήσει σύμφωνα με τους δικούς σας όρους.