- Mis on Pythoni taotlused?
- Miks kasutada Pythoni päringuid?
- Kuidas Pythoni taotlusi installida?
- Saada ja postitaotlusi
- Parameetrite edastamine URL-is
- Olekukood
- Vastuse sisu
- Mitmeosaline faili üleslaadimine
- Küpsised ja päised
- Seansi objekt
- Vead ja erandid
Mis on Pythoni taotlused?
Pythoni taotlused kirjutas Kenneth Reitz ja litsentsiti apache 2.0 all. See on inimsõbralik HTTP-teek, nagu seda mainitakse ametlikul dokumendilehel. Seda on lihtne kasutada ja põhimõtteliselt kasutatakse igasuguste HTTP-päringute tegemiseks. Järgnevalt on toodud mõned täiendavad funktsioonid, mis päringutega kaasnevad:- Hoidke elus ja ühendage ühendus
- Rahvusvahelised domeenid ja URL-id
- Seansid küpsiste püsivusega
- Brauseri stiilis SSL-i kontrollimine
- Automaatne sisu dekodeerimine
- Põhi- / kokkuvõtlik autentimine
- Elegantsed võtme / väärtusega küpsised
- Automaatne dekompressioon
- Unicode'i vastusekehad
- HTTP-puhverserveri tugi
- Mitmeosalise faili üleslaadimine
- Allalaadimiste voogesitus
- Ühenduse ajalõpp
- Tükeldatud taotlused
Miks kasutada Pythoni päringuid?
Mis puutub küsimusesse, miks me kasutame pythoni päringuid? põhjus on üsna lihtne. Püütoni taotluste kasutamisel ei pea te päringuid oma URL-idele käsitsi lisama ja vormindama postiandmeid. See hõlbustab meie tööd igasuguste http-taotluste esitamisel.Nüüd, kui oleme tuttavad pythoni taotlustega ja miks me neid Pythonis kasutame, proovime mõista, kuidas kavatseme oma projekti või süsteemi taotlusi installida.Kuidas Pythoni taotlusi installida?
Paigaldusosa on samuti väga lihtne. Kui teie süsteemile on installitud pipenv seadistus, saate terminalis lihtsalt käivitada järgmise käsu.$ pip installitaotlused
See installib teie süsteemi päringute kogu. Taotluste installimiseks on veel üks lähenemisviis. Kui kasutate pycharmi, saate seadetes lisada projekti tõlgile taotlusi. See täidab sama eesmärki kui terminal juhul, kui installite raamatukogu meie projekti.Nüüd, kui oleme installimisega läbi, proovime mõista, kuidas me pythonis päringuid saadame ja postitame.Kuidas taotlusi saada ja postitada?
Hangi päringut kasutatakse põhimõtteliselt andmete küsimiseks serverist. Allpool on süntaks päringu saamiseks.imporditaotlused res = request.get ('url') #res on siin vastuse objekt.Postitustaotlust kasutatakse töödeldavate andmete serverisse saatmiseks. Järgneb postitustaotluse süntaks.
imporditaotluste kasulik koormus = {'key1': 'väärtus1'} res = taotlused.post ('url', andmed = kasulik koormus)Nüüd, kui me teame, kuidas saame päringuid saata ja postitada, vaatame, kuidas saaksime päringu abil parameetreid URL-ile edastada.
Parameetrite edastamine URL-is
Parameetrite edastamine URL-is on sama lihtne kui hankimistaotluse esitamine. Järgmine on näide parameetrite edastamiseks URL-ile.imporditaotluste kasulik koormus = {'key1': 'väärtus1', 'võti2': 'väärtus2'} res = taotlused.get ('url', params = kasulik koormus) print (res.url) #see printib URL-i parameetritega läbis hankimisnõude.
Olekukood
Saame kontrollida ka olekukoodi. Olekukoodi kontrollimiseks on järgmine kood:
imporditaotlused res = request.get ('url') print (res.status_code ())Kui kood tagastab 200, tähendab see, et viga pole ja taotlus on kõik korras. Kui me esitame vale taotluse, tagastab kood koodi 404 või 505, mis põhjustab http-tõrke.
Vastuse sisu
Saame lugeda ka serveri vastuse sisu. Teek dekodeerib sisu serverist automaatselt.imporditaotlused res = request.get ('url') print (res.content)
Taotlustel on ka sisseehitatud JSON-dekooder.
imporditaotlused res = request.get ('url') print (res.json ()) #see saab vastuse jsoni vormingus
Mitmeosaline faili üleslaadimine
Paljude failide üleslaadimine päringute abil on väga lihtne.imporditaotluste failid = {'fail': avatud ('failinimi', 'rb')} res = taotlused.post ('url', failid = failid) print (res.text)Mitme faili saatmiseks määrame parameetris failid mitu faili.
Küpsised ja päised
Saame vaadata vastuse objekti abil serveri vastuse päiseid ja küpsiseid. Järgmine on kood serveri päiste vaatamiseks.imporditaotlused res = request.get ('url') print (res.headers)Saame kohandatud päised edastada ka URL-ile. Vaatame koodi.
imporditaotluste päised = {'key1': 'väärtus1'} res = taotlused.get ('url', päised = päised) print (res. päised)Taotlused ei muuda oma käitumist kohandatud päiste põhjal. Need edastatakse lihtsalt lõplikule taotlusele. küpsised saab vaadata ka vastuse objekti abil.
imporditaotlused # oma küpsiste edastamiseks saame kasutada küpsiste parameetrit küpsised = dict (küpsised = 'töötavad') res = taotlused.get ('url', küpsised = küpsised) print (res.text)
Küpsised tagastatakse RequestCookieJaris, mis toimib nagu sõnastik, kuid pakub ka terviklikumat liidest, mis sobib kasutamiseks mitmel domeenil või rajal.
Seansi objekt
Seansiobjekt võimaldab teil taotlustes teatud parameetreid säilitada.- Küpsised püsivad kõigis seansi eksemplari esitatud taotlustes
- Kasutage urllib3 ühenduse ühendamist
- Oluline jõudlus kasvab
- Seansiobjektil on kõik peamiste taotluste API meetodid
s = taotlused.seanss () s.get ('url') res = s.get ('url') print (res.text)
Vead ja erandid
Järgnevalt on toodud vead ja erandid, mida pütooni taotluses tõstatatakse.- Võrguprobleemi korral tekitavad päringud ConnectionError erandi.
- Response.raise_for_status () tekitab ebaõnnestunud olekukoodi korral HTTP-tõrke.
- Aegumise korral on see Timeouti erand
- TooManyRedirects erand tõuseb, kui taotlus ületab ümbersuunamiste maksimaalse arvu konfigureeritud arvu.