- Τι είναι τα αιτήματα της Python;
- Γιατί να χρησιμοποιήσετε τα αιτήματα Python;
- Πώς να εγκαταστήσετε αιτήματα Python;
- Υποβολή αιτημάτων λήψης και δημοσίευσης
- Διαβίβαση παραμέτρων στη διεύθυνση URL
- Κωδικός κατάστασης
- Περιεχόμενο απόκρισης
- Μεταφόρτωση αρχείων πολλαπλών τμημάτων
- Cookies και κεφαλίδες
- Αντικείμενο συνεδρίας
- Σφάλματα και εξαιρέσεις
Τι είναι τα αιτήματα της Python;
Τα αιτήματα της Python γράφτηκαν από τον Kenneth Reitz και είχαν άδεια βάσει του apache 2.0. Είναι μια φιλική προς τον άνθρωπο βιβλιοθήκη HTTP, όπως αναφέρεται στην επίσημη σελίδα τεκμηρίωσης. Είναι εύκολο στη χρήση και βασικά χρησιμοποιείται για την υποβολή όλων των ειδών αιτημάτων HTTP. Ακολουθούν μερικές προηγμένες λειτουργίες που συνοδεύουν τα αιτήματα:- Κρατήστε ζωντανό και ομαδοποιήστε τη σύνδεση
- Διεθνείς τομείς και διευθύνσεις URL
- Συνεδρίες με επιμονή στα cookie
- Επαλήθευση SSL σε στυλ προγράμματος περιήγησης
- Αυτόματη αποκωδικοποίηση περιεχομένου
- Βασικός έλεγχος ταυτότητας
- Κομψά cookie κλειδιών / τιμών
- Αυτόματη αποσυμπίεση
- Σώματα απόκρισης Unicode
- Υποστήριξη διακομιστή μεσολάβησης HTTP
- Μεταφορτώσεις αρχείων πολλαπλών τμημάτων
- Λήψεις ροής
- Χρονικά όρια σύνδεσης
- Τεμαχισμένα αιτήματα
Γιατί να χρησιμοποιήσετε τα αιτήματα Python;
Όσον αφορά το γιατί χρησιμοποιούμε αιτήματα python; ο λόγος είναι πολύ απλός. Κατά τη χρήση αιτημάτων python, δεν χρειάζεται να προσθέσετε με μη αυτόματο τρόπο τα ερωτήματα στις διευθύνσεις URL και τα δεδομένα δημοσίευσης κωδικοποίησης φόρμας. Διευκολύνει τη δουλειά μας όταν κάνουμε αιτήσεις http οποιουδήποτε είδους.Τώρα που είμαστε εξοικειωμένοι με τα αιτήματα python και γιατί τα χρησιμοποιούμε στο python, ας προσπαθήσουμε να κατανοήσουμε πώς πρόκειται να εγκαταστήσουμε αιτήματα στο έργο ή το σύστημά μας.Πώς να εγκαταστήσετε αιτήματα Python;
Το τμήμα εγκατάστασης είναι επίσης πολύ εύκολο. Εάν έχετε εγκαταστήσει τη ρύθμιση pipenv στο σύστημά σας, μπορείτε απλά να εκτελέσετε την ακόλουθη εντολή στο τερματικό.Αιτήματα εγκατάστασης $ pip
Αυτό θα εγκαταστήσει τη βιβλιοθήκη αιτημάτων στο σύστημά σας. Υπάρχει μια ακόμη προσέγγιση για την εγκατάσταση αιτημάτων. Εάν χρησιμοποιείτε pycharm, μπορείτε να προσθέσετε αιτήματα στον διερμηνέα έργου στις ρυθμίσεις. Εξυπηρετεί τον ίδιο σκοπό με το τερματικό σε περίπτωση εγκατάστασης της βιβλιοθήκης στο έργο μας.Τώρα που έχουμε περάσει με την εγκατάσταση, ας προσπαθήσουμε να καταλάβουμε πώς θα κάνουμε λήψη και δημοσίευση αιτημάτων στο python.Πώς να υποβάλετε αιτήματα λήψης και δημοσίευσης;
Το βασικό αίτημα χρησιμοποιείται βασικά για να ζητήσει τα δεδομένα από το διακομιστή. Ακολουθεί η σύνταξη για την υποβολή αιτήματος λήψης.Εισαγωγή αιτημάτων res = request.get ('url') #res είναι το αντικείμενο απόκρισης εδώ.Το αίτημα ανάρτησης χρησιμοποιείται για την υποβολή των δεδομένων προς επεξεργασία στον διακομιστή. Ακολουθεί η σύνταξη για την υποβολή αιτήματος δημοσίευσης.
αιτήσεις εισαγωγής ωφέλιμο φορτίο = {'key1': 'value1'} res = request.post ('url', data = payload)Τώρα που γνωρίζουμε πώς μπορούμε να κάνουμε λήψη και δημοσίευση αιτημάτων, ας ρίξουμε μια ματιά στον τρόπο με τον οποίο μπορούμε να μεταφέρουμε παραμέτρους στη διεύθυνση url χρησιμοποιώντας το αίτημα λήψης.
Περνώντας παράμετροι σε μια διεύθυνση URL
Η παράδοση παραμέτρων σε μια διεύθυνση URL είναι τόσο απλή όσο η υποβολή αιτήματος λήψης. Ακολουθεί ένα παράδειγμα για τη μετάδοση παραμέτρων στο url.εισαγωγή αιτήσεων payload = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = payload) print (res.url) # αυτό θα εκτυπώσει το url με τις παραμέτρους πέρασε από το αίτημα λήψης.
Κωδικός κατάστασης
Μπορούμε επίσης να ελέγξουμε τον κωδικό κατάστασης, ακολουθώντας τον κωδικό για να ελέγξουμε τον κωδικό κατάστασης:
αιτήσεις εισαγωγής res = request.get ('url') εκτύπωση (res.status_code ())Εάν ο κωδικός επιστρέψει 200, αυτό σημαίνει ότι δεν υπάρχει σφάλμα και το αίτημα είναι καλά. Εάν κάνουμε ένα κακό αίτημα, ο κωδικός θα επιστρέψει τον κωδικό όπως 404 ή 505, ο οποίος θα δημιουργήσει ένα σφάλμα http.
Περιεχόμενο απόκρισης
Μπορούμε επίσης να διαβάσουμε το περιεχόμενο της απόκρισης του διακομιστή. Η βιβλιοθήκη αποκωδικοποιεί αυτόματα το περιεχόμενο από το διακομιστή.εισαγωγικά αιτήματα res = request.get ('url') εκτύπωση (res.content)
Τα αιτήματα έχουν επίσης έναν ενσωματωμένο αποκωδικοποιητή json.
εισαγωγικά αιτήματα res = request.get ('url') print (res.json ()) # αυτό θα λάβει την απάντηση σε μορφή json
Μεταφόρτωση αρχείων πολλαπλών τμημάτων
Είναι πολύ εύκολο να ανεβάσετε αρχεία πολλαπλών τμημάτων χρησιμοποιώντας αιτήματα.εισαγωγή αιτημάτων αρχείων = {'file': open ('filename', 'rb')} res = request.post ('url', files = files) print (res.text)Για την αποστολή πολλαπλών αρχείων θα καθορίσουμε πολλά αρχεία στην παράμετρο αρχείων.
Cookies και κεφαλίδες
Μπορούμε να δούμε τις κεφαλίδες και τα cookie απόκρισης του διακομιστή χρησιμοποιώντας το αντικείμενο απόκρισης. Ακολουθεί ο κωδικός για την προβολή των κεφαλίδων του διακομιστή.εισαγωγικά αιτήματα res = request.get ('url') print (res.headers)Μπορούμε επίσης να μεταφέρουμε προσαρμοσμένες κεφαλίδες στο url. Ας ρίξουμε μια ματιά στον κώδικα.
εισαγωγή κεφαλίδων αιτήσεων = {'key1': 'value1'} res = request.get ('url', headers = headers) print (res.headers)Τα αιτήματα δεν αλλάζουν τη συμπεριφορά τους βάσει προσαρμοσμένων κεφαλίδων. Απλώς μεταβιβάζονται στο τελικό αίτημα. μπισκότα μπορεί επίσης να προβληθεί χρησιμοποιώντας το αντικείμενο απόκρισης.
εισαγωγή αιτημάτων # για να περάσουμε τα δικά μας cookies μπορούμε να χρησιμοποιήσουμε την παράμετρο cookie cookies = dict (cookies = 'working') res = request.get ('url', cookies = cookies) εκτύπωση (res.text)
Τα cookie επιστρέφονται σε RequestCookieJar, το οποίο λειτουργεί σαν λεξικό αλλά προσφέρει επίσης πιο ολοκληρωμένη διεπαφή, κατάλληλη για χρήση σε πολλούς τομείς ή διαδρομές.
Αντικείμενο συνεδρίας
Το αντικείμενο συνεδρίας σάς επιτρέπει να διατηρείτε συγκεκριμένες παραμέτρους στα αιτήματα.- Παραμένει τα cookie σε όλα τα αιτήματα που έγιναν από την παρουσία περιόδου σύνδεσης
- Χρησιμοποιήστε την ομαδοποίηση σύνδεσης urllib3
- Σημαντική αύξηση της απόδοσης
- Ένα αντικείμενο περιόδου λειτουργίας έχει όλες τις μεθόδους του API βασικών αιτημάτων
s = request.session () s.get ('url') res = s.get ('url') εκτύπωση (res.text)
Σφάλματα και εξαιρέσεις
Ακολουθούν τα σφάλματα και οι εξαιρέσεις που προκύπτουν σε ένα αίτημα python.- Σε περίπτωση προβλήματος δικτύου, τα αιτήματα θα δημιουργήσουν μια εξαίρεση ConnectionError.
- Το Response.raise_for_status () θα δημιουργήσει σφάλμα HTTP όταν υπάρχει ανεπιτυχής κωδικός κατάστασης.
- Εάν υπάρχει χρονικό όριο, θα αυξήσει την εξαίρεση Timeout
- Η εξαίρεση TooManyRedirects αυξάνεται εάν το αίτημα υπερβαίνει τον διαμορφωμένο αριθμό του μέγιστου αριθμού ανακατευθύνσεων.