Αιτήματα Python: Όλα όσα πρέπει να γνωρίζετε



Αυτό το ιστολόγιο θα σας καθοδηγήσει λεπτομερώς στην ενότητα αιτημάτων python. Θα εξοικειωθείτε με τα αιτήματα GET και POST, αντικείμενα συνεδρίας, cookie και κεφαλίδες.

Η Python ζητά περίπου 400.000 λήψεις καθημερινά. Αυτός ο αριθμός είναι αρκετά προφανής για να κατανοήσει τη δημοτικότητα αυτού . Τα τελευταία χρόνια, η γλώσσα προγραμματισμού python έχει γίνει η πιο επιθυμητή γλώσσα προγραμματισμού για πολλούς προγραμματιστές. Οι έννοιες και οι βιβλιοθήκες όπως τα αιτήματα είναι ένας από τους πολλούς λόγους για τους προγραμματιστές να μεταβούν από άλλες γλώσσες προγραμματισμού σε python. Σε αυτό το ιστολόγιο, θα εξετάσουμε τα ακόλουθα θέματα:

Τι είναι τα αιτήματα της Python;

Τα αιτήματα της Python γράφτηκαν από τον Kenneth Reitz και είχαν άδεια βάσει του apache 2.0. Είναι μια φιλική προς τον άνθρωπο βιβλιοθήκη HTTP, όπως αναφέρεται στην επίσημη σελίδα τεκμηρίωσης. Είναι εύκολο στη χρήση και βασικά χρησιμοποιείται για την υποβολή όλων των ειδών αιτημάτων HTTP. Ακολουθούν μερικές προηγμένες λειτουργίες που συνοδεύουν τα αιτήματα:
  1. Κρατήστε ζωντανό και ομαδοποιήστε τη σύνδεση
  2. Διεθνείς τομείς και διευθύνσεις URL
  3. Συνεδρίες με επιμονή στα cookie
  4. Επαλήθευση SSL σε στυλ προγράμματος περιήγησης
  5. Αυτόματη αποκωδικοποίηση περιεχομένου
  6. Βασικός έλεγχος ταυτότητας
  7. Κομψά cookie κλειδιών / τιμών
  8. Αυτόματη αποσυμπίεση
  9. Σώματα απόκρισης Unicode
  10. Υποστήριξη διακομιστή μεσολάβησης HTTP
  11. Μεταφορτώσεις αρχείων πολλαπλών τμημάτων
  12. Λήψεις ροής
  13. Χρονικά όρια σύνδεσης
  14. Τεμαχισμένα αιτήματα
Αυτά είναι όλα τα προηγμένα χαρακτηριστικά της βιβλιοθήκης αιτημάτων python, ας προσπαθήσουμε να καταλάβουμε γιατί χρησιμοποιούμε αιτήματα python.

Γιατί να χρησιμοποιήσετε τα αιτήματα 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 βασικών αιτημάτων
Ακολουθεί ο κώδικας για τη διατήρηση ορισμένων cookie στα αιτήματα.
s = request.session () s.get ('url') res = s.get ('url') εκτύπωση (res.text)

Σφάλματα και εξαιρέσεις

Ακολουθούν τα σφάλματα και οι εξαιρέσεις που προκύπτουν σε ένα αίτημα python.
  • Σε περίπτωση προβλήματος δικτύου, τα αιτήματα θα δημιουργήσουν μια εξαίρεση ConnectionError.
  • Το Response.raise_for_status () θα δημιουργήσει σφάλμα HTTP όταν υπάρχει ανεπιτυχής κωδικός κατάστασης.
  • Εάν υπάρχει χρονικό όριο, θα αυξήσει την εξαίρεση Timeout
  • Η εξαίρεση TooManyRedirects αυξάνεται εάν το αίτημα υπερβαίνει τον διαμορφωμένο αριθμό του μέγιστου αριθμού ανακατευθύνσεων.
Σε αυτό το blog έχουμε συζητήσει τη μονάδα αιτημάτων python στην οποία έχουμε διάφορες προηγμένες δυνατότητες. Συζητήσαμε για την εγκατάσταση και την υποβολή αιτήματος λήψης και δημοσίευσης με το περιεχόμενο απόκρισης και άλλες έννοιες στη βιβλιοθήκη αιτημάτων στο python. Η ενότητα αιτήσεων Python είναι ένα από τα πολλά εξαιρετικά χαρακτηριστικά του γλώσσα προγραμματισμού python . Μπορείτε να ξεκινήσετε τη μάθησή σας εγγράφοντας στο και ανακαλύψτε τις δυνατότητες της γλώσσας προγραμματισμού python. Έχετε απορίες; αναφέρετέ τα στην ενότητα σχολίων, θα επικοινωνήσουμε μαζί σας.