Pythoni taotlused: kõik, mida peate teadma



See ajaveeb tutvustab üksikasjalikult pythoni taotluste moodulit. Tutvute GET- ja POST-päringute, seansiobjektide, küpsiste ja päistega.

Python taotleb iga päev peaaegu 400 000 allalaadimist. See arv on piisavalt ilmne, et mõista selle populaarsust . Viimastel aastatel on Pythoni programmeerimiskeel muutunud paljude arendajate jaoks kõige ihaldatumaks programmeerimiskeeleks. Mõisted ja teegid nagu päringud on üks paljudest põhjustest, miks arendajad saavad teistelt programmeerimiskeeltelt Pythonile üle minna. Selles blogis käsitleme järgmisi teemasid:

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:
  1. Hoidke elus ja ühendage ühendus
  2. Rahvusvahelised domeenid ja URL-id
  3. Seansid küpsiste püsivusega
  4. Brauseri stiilis SSL-i kontrollimine
  5. Automaatne sisu dekodeerimine
  6. Põhi- / kokkuvõtlik autentimine
  7. Elegantsed võtme / väärtusega küpsised
  8. Automaatne dekompressioon
  9. Unicode'i vastusekehad
  10. HTTP-puhverserveri tugi
  11. Mitmeosalise faili üleslaadimine
  12. Allalaadimiste voogesitus
  13. Ühenduse ajalõpp
  14. Tükeldatud taotlused
Need on kõik Pythoni päringute teegi täiustatud funktsioonid. Püüame mõista, miks me üldse Pythoni päringuid kasutame.

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
Järgmine on kood, mis võimaldab mõningaid küpsiseid taotluste ajal säilitada.
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.
Selles ajaveebis oleme arutanud pythoni päringute moodulit, milles meil on mitmesuguseid täiendavaid funktsioone. Arutasime pythonis päringute kogu vastamise sisu ja muude mõistete installimist ning hankimise ja postitamise päringu tegemist. Pythoni päringute moodul on üks paljudest pakendivälistest funktsioonidest Pythoni programmeerimiskeel . Saate oma õppimist alustada, registreerudes ja avastada pythoni programmeerimiskeele võimalused. Kas teil on küsimusi? mainige neid kommentaaride jaotises, võtame teiega ühendust.