- Ce sunt cererile Python?
- De ce să folosiți cererile Python?
- Cum se instalează cererile Python?
- Efectuarea de solicitări de primire și postare
- Trecerea parametrilor în URL
- Cod de stare
- Conținut de răspuns
- Încărcare de fișiere în mai multe părți
- Cookie-uri și anteturi
- Obiectul sesiunii
- Erori și excepții
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ă:- Păstrați în viață și punerea în comun a conexiunilor
- Domenii și adrese URL internaționale
- Sesiuni cu persistență cookie
- Verificare SSL în stil browser
- Decodare automată a conținutului
- Autentificare de bază / digest
- Cookie-uri cheie / valoare elegante
- Decompresie automată
- Corpuri de răspuns Unicode
- Suport proxy HTTP
- Încărcări de fișiere cu mai multe părți
- Descărcări în flux
- Expirări conexiune
- Cereri blocate
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
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.