Požiadavky Pythonu: Všetko, čo potrebujete vedieť



Tento blog vás podrobne prevedie modulom požiadaviek pythonu. Oboznámite sa s požiadavkami GET a POST, objektmi relácie, súbormi cookie a hlavičkami.

Python požaduje každý deň takmer 400 000 stiahnutí. Toto číslo je dostatočne zrejmé na to, aby sme pochopili jeho popularitu . V posledných rokoch sa programovací jazyk python stal pre mnohých vývojárov tým najžiadanejším programovacím jazykom. Koncepty a požiadavky ako knižnice sú jedným z mnohých dôvodov pre vývojárov, ktorí prešli z iných programovacích jazykov na python. V tomto blogu si prejdeme nasledujúce témy:

Čo je požiadavka Pythonu?

Žiadosti o Python napísal Kenneth Reitz a licencovali ich pod apache 2.0. Je to ľudsky priateľská knižnica HTTP, ako je uvedené na stránke oficiálnej dokumentácie. Je ľahko použiteľný a v zásade sa používa na vytváranie najrôznejších požiadaviek HTTP. Nasleduje niekoľko pokročilých funkcií, s ktorými sa požiadavky spájajú:
  1. Udržujte pri živote a zdieľanie pripojení
  2. Medzinárodné domény a adresy URL
  3. Relácie s perzistenciou súborov cookie
  4. Overenie SSL v prehliadači
  5. Automatické dekódovanie obsahu
  6. Základné / digest autentifikácie
  7. Elegantné súbory cookie typu kľúč / hodnota
  8. Automatická dekompresia
  9. Telá odpovedí Unicode
  10. Podpora proxy HTTPs
  11. Viacdielne nahrávanie súborov
  12. Streamované súbory na stiahnutie
  13. Časové limity pripojenia
  14. Kusové žiadosti
Toto sú všetky pokročilé funkcie knižnice požiadaviek pythonu, pokúsime sa pochopiť, prečo vlastne používame požiadavky pythonu.

Prečo používať požiadavky Pythonu?

Pokiaľ ide o dôvod, prečo používame požiadavky v jazyku python? dôvod je dosť jednoduchý. Pri používaní požiadaviek pythonu nemusíte manuálne pridávať dotazy do svojich adries URL a kódovať údaje postov. Uľahčuje nám to prácu pri všetkých požiadavkách na server http.Teraz, keď už sme oboznámení s požiadavkami pythonu, a prečo ich v pythone používame, pokúsime sa pochopiť, ako nainštalujeme požiadavky do nášho projektu alebo systému.

Ako nainštalovať požiadavky Pythonu?

Inštalačná časť je tiež veľmi jednoduchá. Ak máte vo svojom systéme nainštalované nastavenie pipenv, môžete v termináli jednoducho spustiť nasledujúci príkaz.

$ pip požiadavky na inštaláciu

Týmto sa nainštaluje knižnica požiadaviek do vášho systému. K požiadavkám na inštaláciu existuje ešte jeden prístup. Ak používate pycharm, môžete v nastaveniach pridať požiadavky na tlmočníka projektu. Slúži na rovnaký účel ako terminál v prípade inštalácie knižnice do nášho projektu.Teraz, keď sme s inštaláciou skončili, pokúsime sa pochopiť, ako urobíme požiadavky na získanie a odoslanie v pythone.

Ako podať žiadosť a zverejniť žiadosť?

Získať požiadavku sa v zásade používa na vyžiadanie údajov zo servera. Nasleduje syntax, ktorá umožňuje zadanie žiadosti o získanie.
import request res = requests.get ('url') #res je tu objekt odpovede.
Žiadosť o príspevok sa používa na odoslanie údajov, ktoré sa majú spracovať, na server. Nasleduje syntax na odoslanie žiadosti o príspevok.
import požiadaviek payload = {'key1': 'value1'} res = requests.post ('url', data = payload)
Teraz, keď vieme, ako môžeme vytvárať a odosielať žiadosti, sa pozrime na to, ako dokážeme prostredníctvom žiadosti get odovzdať parametre na adresu URL.

Predávanie parametrov v adrese URL

Zadanie parametrov do adresy URL je také jednoduché ako zadanie požiadavky na získanie. Nasleduje príklad na odovzdanie parametrov do adresy URL.
import request payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) # toto vytlačí adresu URL s parametrami prešiel požiadavkou na získanie.

Stavový kód

Môžeme tiež skontrolovať stavový kód. Nasleduje kód na kontrolu stavového kódu:





čo je metóda skrývajúca sa v jave
import request res = requests.get ('url') print (res.status_code ())
Ak kód vráti 200, znamená to, že nedošlo k žiadnej chybe a požiadavka je v poriadku. Ak zadáme nesprávnu žiadosť, kód vráti kód ako 404 alebo 505, čo spôsobí chybu http.

Obsah odpovede

Môžeme si tiež prečítať obsah odpovede servera. Knižnica automaticky dekóduje obsah zo servera.
import request res = requests.get ('url') print (res.content)

Žiadosť má tiež zabudovaný dekodér json.

import request res = requests.get ('url') print (res.json ()) # toto dostane odpoveď vo formáte json

Viacdielne nahrávanie súborov

Nahrávanie viacdielnych súborov pomocou požiadaviek je veľmi jednoduché.
import request files = {'file': open ('názov súboru', 'rb')} res = requests.post ('url', súbory = súbory) print (res.text)
Pre zasielanie viacerých súborov zadáme v parametri súbory viac súborov.

Súbory cookie a hlavičky

Pomocou objektu odpovede môžeme zobraziť hlavičky odpovedí a súbory cookie servera. Nasleduje kód na zobrazenie hlavičiek servera.
import request res = requests.get ('url') print (res.headers)
Na adresu URL môžeme odovzdať aj vlastné hlavičky. Poďme sa pozrieť na kód.
hlavičky požiadaviek na import = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)
Žiadosť nezmení svoje správanie na základe vlastných hlavičiek. Jednoducho sa odovzdajú poslednej žiadosti. cookies je možné zobraziť aj pomocou objektu odpovede.
import požiadaviek # na odovzdanie vlastných cookies môžeme použiť parameter cookies cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)

Súbory cookie sa vracajú v RequestCookieJar, ktorý funguje ako slovník, ale ponúka aj úplnejšie rozhranie vhodné na použitie vo viacerých doménach alebo cestách.



Objekt relácie

Objekt relácie vám umožňuje pretrvávať určité parametre v rámci požiadaviek.
  • Zachová súbory cookie vo všetkých požiadavkách vykonaných z inštancie relácie
  • Použite združovanie pripojení urllib3
  • Významný nárast výkonu
  • Objekt relácie má všetky metódy rozhrania API hlavných požiadaviek
Nasleduje kód na pretrvávanie niektorých súborov cookie v rámci požiadaviek.
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)

Chyby a výnimky

Nasledujú chyby a výnimky, ktoré sú vyvolané v požiadavke pythonu.
  • V prípade problému so sieťou vyvolajú požiadavky výnimku ConnectionError.
  • Response.raise_for_status () vyvolá chybu HTTP, ak sa vyskytne neúspešný stavový kód.
  • Ak dôjde k vypršaniu časového limitu, vyvolá to výnimku vypršania časového limitu
  • Výnimka TooManyRedirects sa vyvolá, ak požiadavka prekročí nakonfigurovaný počet maximálneho počtu presmerovaní.
V tomto blogu sme diskutovali o module požiadaviek pythonu, v ktorom máme rôzne pokročilé funkcie. Diskutovali sme o inštalácii a zadaní požiadavky na získanie a odoslanie s obsahom odpovede a ďalšími konceptmi v knižnici požiadaviek v pythone. Modul požiadaviek Pythonu je jednou z mnohých mimoriadnych funkcií balíka out of box programovací jazyk python . Svoje učenie môžete naštartovať prihlásením sa a objavte možnosti programovacieho jazyka python. Máte nejaké otázky? uveďte ich v sekcii komentárov, ozveme sa vám.