- Što su Python zahtjevi?
- Zašto koristiti Python zahtjeve?
- Kako instalirati Python zahtjeve?
- Izrada zahtjeva za dobivanje i objavljivanje
- Prosljeđivanje parametara u URL
- Statusni kod
- Sadržaj odgovora
- Prenos datoteke u više dijelova
- Kolačići i zaglavlja
- Objekt sjednice
- Pogreške i iznimke
Š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:
- Održavajte na životu i spajanje veza
- Međunarodne domene i URL-ovi
- Sjednice s postojanošću kolačića
- SSL provjera u stilu preglednika
- Automatsko dekodiranje sadržaja
- Osnovna / digest provjera autentičnosti
- Elegantni kolačići ključ / vrijednost
- Automatska dekompresija
- Unicode tijela za odgovor
- Podrška za HTTP proxy
- Prijenosi datoteka s više dijelova
- Streaming preuzimanja
- Vremenska ograničenja veze
- Kratki zahtjevi
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 linuxOvo ć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
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.