Cereri Python: Tot ce trebuie să știți



Acest blog vă va conduce în detaliu prin modulul de solicitări Python. Vă veți familiariza cu solicitările GET și POST, obiectele de sesiune, cookie-urile și antetele.

Python solicită aproape 400.000 de descărcări zilnic. Acest număr este suficient de evident pentru a înțelege popularitatea acestui lucru . În ultimii ani, limbajul de programare python a devenit cel mai dorit limbaj de programare pentru mulți dezvoltatori. Conceptele și bibliotecile precum cererile sunt unul dintre numeroasele motive pentru care dezvoltatorii trec la alte limbaje de programare la python. În acest blog, vom trece prin următoarele subiecte:

Ce sunt cererile Python?

Cererile Python au fost scrise de Kenneth Reitz și licențiate sub apache 2.0. Este o bibliotecă HTTP prietenoasă cu oamenii, așa cum este menționată pe pagina oficială de documentare. Este ușor de utilizat și practic utilizat pentru a face tot felul de solicitări HTTP. Următoarele sunt câteva funcții avansate pe care solicitările le oferă:
  1. Păstrați în viață și punerea în comun a conexiunilor
  2. Domenii și adrese URL internaționale
  3. Sesiuni cu persistență cookie
  4. Verificare SSL în stil browser
  5. Decodare automată a conținutului
  6. Autentificare de bază / digest
  7. Cookie-uri cheie / valoare elegante
  8. Decompresie automată
  9. Corpuri de răspuns Unicode
  10. Suport proxy HTTP
  11. Încărcări de fișiere cu mai multe părți
  12. Descărcări în flux
  13. Expirări conexiune
  14. Cereri blocate
Acestea sunt toate caracteristicile avansate ale bibliotecii de cereri Python, să încercăm să înțelegem de ce folosim cererile Python în primul rând.

De ce să folosiți cererile Python?

Când vine vorba de ce folosim cererile Python? motivul este destul de simplu. În timp ce utilizați solicitări Python, nu trebuie să adăugați manual interogările la adresele URL și să codificați datele de postare. Ne ușurează treaba atunci când facem solicitări http de orice fel.Acum, că suntem familiarizați cu cererile Python și de ce le folosim în Python, să încercăm să înțelegem cum vom instala cererile în proiectul sau sistemul nostru.

Cum se instalează cererile Python?

Partea de instalare este, de asemenea, foarte ușoară. Dacă aveți configurarea pipenv instalată pe sistemul dvs., puteți rula pur și simplu următoarea comandă în terminal.

Solicitări de instalare $ pip

Aceasta va instala biblioteca de solicitări pe sistemul dvs. Există încă o abordare pentru instalarea solicitărilor. Dacă utilizați pycharm, puteți adăuga cereri pe interpretul de proiect în setări. Acesta servește același scop ca terminalul în cazul instalării bibliotecii pe proiectul nostru.Acum, că am terminat instalarea, să încercăm să înțelegem cum vom face solicitări și postări în python.

Cum să efectuați și să postați cereri?

Obțineți cererea este utilizată practic pentru a solicita datele de la server. Următoarea este sintaxa pentru a face o cerere de obținere.
cereri de import res = requests.get ('url') #res este obiectul de răspuns aici.
Cererea de postare este utilizată pentru a trimite datele de procesat către server. Următoarea este sintaxa pentru a face o cerere de postare.
cereri de import sarcină utilă = {'cheie1': 'valoare1'} res = solicitări.post ('url', date = sarcină utilă)
Acum, că știm cum putem face solicitări de tip get și post, să aruncăm o privire asupra modului în care putem transmite parametrii către adresa URL folosind solicitarea get.

Trecerea parametrilor într-o adresă URL

Trecerea parametrilor într-o adresă URL este la fel de simplă ca și efectuarea unei cereri de primire. Următorul este un exemplu pentru a trece parametrii la adresa URL.
cereri de import payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) #this va imprima URL-ul cu parametrii a trecut prin cererea de primire.

Cod de stare

Putem verifica și codul de stare, următorul este codul pentru a verifica codul de stare:





cum se implementează lista legată în c
solicitări de import res = requests.get ('url') print (res.status_code ())
Dacă codul returnează 200, înseamnă că nu există nicio eroare și cererea este bine. Dacă facem o solicitare greșită, codul va returna codul cum ar fi 404 sau 505, ceea ce va genera o eroare http.

Conținut de răspuns

De asemenea, putem citi conținutul răspunsului serverului. Biblioteca va decoda automat conținutul de pe server.
solicitări de import res = requests.get ('url') print (res.content)

Solicitările are, de asemenea, un decodor json încorporat.

este git și github la fel
solicitări de import res = requests.get ('url') print (res.json ()) #this va primi răspunsul într-un format json

Încărcare fișier cu mai multe părți

Este foarte ușor să încărcați fișiere cu mai multe părți folosind cereri.
cereri de import fișiere = {'fișier': deschis ('nume de fișier', 'rb')} res = solicitări.post ('url', fișiere = fișiere) print (res.text)
Pentru trimiterea mai multor fișiere vom specifica mai multe fișiere în parametrul fișiere.

Cookie-uri și anteturi

Putem vizualiza antetele de răspuns ale serverului și cookie-urile folosind obiectul de răspuns. Următorul este codul pentru a vizualiza antetele serverului.
solicitări de import res = requests.get ('url') print (res.headers)
Putem trece anteturile personalizate la adresa URL. Să aruncăm o privire asupra codului.
import cereri antet = = 'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)
Solicitările nu își modifică comportamentul pe baza anteturilor personalizate. Ele sunt pur și simplu trecute la cererea finală. cookie-uri poate fi vizualizat și folosind obiectul de răspuns.
solicitări de import #pentru a trece propriile noastre cookie-uri putem folosi parametrul cookie-uri cookie = dict (cookie-uri = „funcționează”) res = requests.get („url”, cookie-uri = cookie-uri) print (res.text)

Cookie-urile sunt returnate într-un RequestCookieJar, care acționează ca un dicționar, dar oferă și o interfață mai completă, potrivită pentru utilizare pe mai multe domenii sau căi.



Obiectul sesiunii

Obiectul sesiunii vă permite să persistați anumiți parametri între cereri.
  • Persistă cookie-urile în toate solicitările făcute din instanța sesiunii
  • Utilizați gruparea conexiunilor urllib3
  • Performanță semnificativă
  • Un obiect de sesiune are toate metodele API-ului principal de solicitări
Următorul este codul pentru a persista unele cookie-uri între cereri.
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)

Erori și excepții

Următoarele sunt erorile și excepțiile care sunt ridicate într-o cerere Python.
  • În cazul apariției unei probleme de rețea, solicitările vor genera o excepție ConnectionError.
  • Response.raise_for_status () va ridica o eroare HTTP atunci când există un cod de stare nereușit.
  • Dacă există un timeout, acesta va genera o excepție Timeout
  • Excepția TooManyRedirects este ridicată dacă cererea depășește numărul configurat de numărul maxim de redirecționări.
În acest blog am discutat modulul de solicitări Python în care avem diverse funcții avansate. Am discutat despre instalare și efectuarea unei cereri de tip get și post cu conținutul răspunsului și alte concepte din biblioteca de cereri din python. Modulul de cereri Python este una dintre numeroasele caracteristici extraordinare din cutie limbaj de programare python . Puteți începe învățarea înscriindu-vă la și descoperiți posibilitățile limbajului de programare python. Aveți întrebări? menționați-le în secțiunea de comentarii, vă vom răspunde.