Python zahtjevi: sve što trebate znati



Ovaj će vas blog detaljno provesti kroz modul zahtjeva za python. Upoznat ćete se s GET i POST zahtjevima, objektima sesije, kolačićima i zaglavljima.

Python svakodnevno zahtijeva gotovo 400 000 preuzimanja. Ovaj je broj dovoljno očit da bismo razumjeli njegovu popularnost . Posljednjih godina programski jezik python postao je najpoželjniji programski jezik za mnoge programere. Koncepti i knjižnice poput zahtjeva jedan je od mnogih razloga za programere za prelazak s drugih programskih jezika na python. Na ovom blogu proći ćemo kroz sljedeće teme:

Što su Python zahtjevi?

Zahtjeve za Python napisao je Kenneth Reitz i licencirao ih pod apache 2.0. To je HTTP knjižnica prilagođena ljudima, kako se spominje na službenoj stranici dokumentacije. Jednostavan je za upotrebu i u osnovi se koristi za izradu svih vrsta HTTP zahtjeva. Slijedi nekoliko naprednih značajki koje se isporučuju sa zahtjevima:
  1. Održavajte na životu i spajanje veza
  2. Međunarodne domene i URL-ovi
  3. Sjednice s postojanošću kolačića
  4. SSL provjera u stilu preglednika
  5. Automatsko dekodiranje sadržaja
  6. Osnovna / digest provjera autentičnosti
  7. Elegantni kolačići ključ / vrijednost
  8. Automatska dekompresija
  9. Unicode tijela za odgovor
  10. Podrška za HTTP proxy
  11. Prijenosi datoteka s više dijelova
  12. Streaming preuzimanja
  13. Vremenska ograničenja veze
  14. Kratki zahtjevi
Sve su to napredne značajke biblioteke zahtjeva pythona, pokušajmo shvatiti zašto uopće koristimo zahtjeve pythona.

Zašto koristiti Python zahtjeve?

Što se tiče zašto koristimo python zahtjeve? razlog je prilično jednostavan. Dok upotrebljavate python zahtjeve, ne morate ručno dodavati upite u svoje URL-ove i kodirati obrasce podataka. Olakšava nam posao prilikom upućivanja http zahtjeva bilo koje vrste.Sad kad smo upoznati s python zahtjevima i zašto ih koristimo u pythonu, pokušajmo shvatiti kako ćemo instalirati zahtjeve u naš projekt ili sustav.

Kako instalirati Python zahtjeve?

Instalacijski dio je također vrlo jednostavan. Ako je na vašem sustavu instalirana instalacija pipenv, možete jednostavno pokrenuti sljedeću naredbu u terminalu.

$ pip zahtjevi za instalaciju

kako instalirati hadoop u linux
Ovo će instalirati knjižnicu zahtjeva na vaš sustav. Postoji još jedan pristup instaliranju zahtjeva. Ako koristite pycharm, u postavkama možete dodati zahtjeve na interpretatoru projekta. Služi istoj namjeni kao i terminal u slučaju instaliranja knjižnice na naš projekt.Sad kad smo završili s instalacijom, pokušajmo shvatiti kako ćemo izrađivati ​​zahtjeve za dobivanje i objavljivanje u pythonu.

Kako napraviti zahtjeve za dobivanje i objavljivanje?

Zahtjev za dobivanje u osnovi se koristi za traženje podataka od poslužitelja. Slijedi sintaksa izrade zahtjeva za dobivanje.
uvozi zahtjeve res = request.get ('url') #res je ovdje objekt odgovora.
Zahtjev za objavom koristi se za slanje podataka na obradu na poslužitelj. Slijedi sintaksa izrade zahtjeva za objavom.
uvoz zahtjeva za korisno opterećenje = {'key1': 'value1'} res = zahtjeva.post ('url', data = payload)
Sad kad znamo kako možemo napraviti zahtjeve za dobivanje i objavljivanje, pogledajmo kako možemo proslijediti parametre na url pomoću zahtjeva za dobivanje.

Prosljeđivanje parametara u URL-u

Prosljeđivanje parametara u URL-u jednostavno je poput izrade zahtjeva za dobivanjem. Slijedi primjer prosljeđivanja parametara na url.
zahtjevi za uvoz payload = {'key1': 'value1', 'key2': 'value2'} res = zahtjeva.get ('url', params = payload) print (res.url) # ovo će ispisati url s parametrima prošli kroz zahtjev za dobivanje.

Statusni kod

Možemo provjeriti i statusni kod, slijedi kod za provjeru statusnog koda:





uvozi zahtjeve res = request.get ('url') print (res.status_code ())
Ako kôd vrati 200, znači da nema pogreške i da je zahtjev u redu. Ako podnesemo loš zahtjev, kôd će vratiti kôd poput 404 ili 505, što će dovesti do http pogreške.

Sadržaj odgovora

Također možemo pročitati sadržaj odgovora poslužitelja. Knjižnica će automatski dekodirati sadržaj s poslužitelja.
uvozi zahtjeve res = request.get ('url') print (res.content)

Zahtjevi također ima ugrađeni json dekoder.

uvozi zahtjeve res = request.get ('url') print (res.json ()) # ovo će dobiti odgovor u json formatu

Učitavanje višedijelne datoteke

Vrlo je jednostavno prenijeti višedijelne datoteke pomoću zahtjeva.
uvoz zahtjeva datoteka = {'datoteka': otvori ('naziv datoteke', 'rb')} res = zahtjeva.post ('url', datoteke = datoteke) ispis (res.text)
Za slanje više datoteka odredit ćemo više datoteka u parametru datoteka.

Kolačići i zaglavlja

Pomoću objekta odgovora možemo pregledati zaglavlja i kolačiće odgovora poslužitelja. Slijedi kôd za prikaz zaglavlja poslužitelja.
uvozi zahtjeve res = request.get ('url') print (res.headers)
Prilagođena zaglavlja možemo proslijediti i na url. Pogledajmo kod.
uvoz zaglavlja zahtjeva = {'key1': 'value1'} res = request.get ('url', headers = headers) print (res.headers)
Zahtjevi ne mijenjaju njegovo ponašanje na temelju prilagođenih zaglavlja. Jednostavno se prenose na konačni zahtjev. kolačiće može se pregledati i pomoću objekta odgovora.
zahtjevi za uvoz #da bismo proslijedili vlastite kolačiće možemo koristiti parametar kolačići kolačići = dict (cookies = 'rade') res = request.get ('url', cookies = cookies) print (res.text)

Kolačići se vraćaju u RequestCookieJar, koji djeluje poput rječnika, ali nudi i cjelovitije sučelje, prikladno za upotrebu na više domena ili staza.



podatkovni okvir u selenu

Objekt sjednice

Objekt sesije omogućuje vam zadržavanje određenih parametara u zahtjevima.
  • Trajni kolačići u svim zahtjevima upućenim iz instance sesije
  • Upotrijebite spremanje veze urllib3
  • Značajno povećanje performansi
  • Objekt sesije ima sve metode API-ja glavnih zahtjeva
Slijedi kod za zadržavanje nekih kolačića u više zahtjeva.
s = request.session () s.get ('url') res = s.get ('url') print (res.text)

Pogreške i iznimke

Slijede pogreške i iznimke koje se pojavljuju u zahtjevu za python.
  • U slučaju mrežnog problema, zahtjevi će pokrenuti iznimku ConnectionError.
  • Response.raise_for_status () će pokrenuti HTTP pogrešku kada postoji neuspješan statusni kôd.
  • Ako postoji timeout, pokrenut će se timeout izuzetak
  • Iznimka TooManyRedirects pokreće se ako zahtjev premašuje konfigurirani broj maksimalnog broja preusmjeravanja.
Na ovom smo blogu raspravljali o modulu zahtjeva za python u kojem imamo razne napredne značajke. Razgovarali smo o instalaciji i postavljanju zahtjeva za dobivanje i objavljivanje sa sadržajem odgovora i ostalim konceptima u biblioteci zahtjeva u pythonu. Python modul zahtjeva jedna je od mnogih izvanrednih značajki programa programski jezik python . Učenje možete započeti upisom i otkriti mogućnosti programskog jezika python. Imate li pitanja? spomenite ih u odjeljku za komentare, javit ćemo vam se.