- Mikä on Python-pyyntöjä?
- Miksi käyttää Python-pyyntöjä?
- Kuinka asentaa Python-pyynnöt?
- Hae ja lähetä pyyntöjä
- Parametrien välittäminen URL-osoitteessa
- Tilakoodi
- Vastauksen sisältö
- Moniosainen tiedostojen lataus
- Evästeet ja otsikot
- Istunnon objekti
- Virheet ja poikkeukset
Mikä on Python-pyyntöjä?
Python-pyynnöt on kirjoittanut Kenneth Reitz ja lisensoitu apache 2.0: lla. Se on ihmisystävällinen HTTP-kirjasto, kuten se mainitaan virallisella dokumentaatiosivulla. Sitä on helppo käyttää ja sitä käytetään periaatteessa kaikenlaisten HTTP-pyyntöjen tekemiseen. Seuraavassa on muutamia pyyntöjen mukana tulevia lisäominaisuuksia:
- Pysy hengissä ja yhdistä yhteys
- Kansainväliset verkkotunnukset ja URL-osoitteet
- Istunnot evästeiden pysyvyydellä
- Selain-tyylinen SSL-vahvistus
- Automaattinen sisällön dekoodaus
- Perus- / tiivistetodennus
- Tyylikäs avain / arvo evästeet
- Automaattinen purku
- Unicode-vastausrungot
- HTTP-välityspalvelimen tuki
- Moniosaiset tiedostot ladataan
- Suoratoistolataukset
- Yhteyden aikakatkaisut
- Palatut pyynnöt
Miksi käyttää Python-pyyntöjä?
Miksi käytämme python-pyyntöjä? syy on melko yksinkertainen. Kun käytät python-pyyntöjä, sinun ei tarvitse lisätä kyselyjä manuaalisesti URL-osoitteisiisi ja muotoilla koodaavia postitietoja. Se helpottaa työtämme, kun teemme kaikenlaisia http-pyyntöjä.Nyt kun olemme perehtyneet python-pyyntöihin ja miksi käytämme niitä pythonissa, voimme yrittää ymmärtää, miten aiomme asentaa pyynnöt projektiimme tai järjestelmäämme.Kuinka asentaa Python-pyynnöt?
Asennusosa on myös erittäin helppo. Jos järjestelmään on asennettu pipenv-asennus, voit yksinkertaisesti suorittaa seuraavan komennon päätelaitteessa.$ pip -asennuspyynnöt
kuinka käyttää stringbufferia Java - sovelluksessaTämä asentaa pyyntökirjaston järjestelmään. Pyyntöjen asentamiseen on vielä yksi tapa. Jos käytät pycharmia, voit lisätä pyyntöjä projektin tulkkiin asetuksissa. Se palvelee samaa tarkoitusta kuin pääte, jos kirjasto asennetaan projektiimme.Nyt kun olemme suorittaneet asennuksen, voimme yrittää ymmärtää, miten teemme pyyntöjä ja lähetämme pythonissa.
Kuinka tehdä pyyntöjä?
Hae pyyntöä käytetään periaatteessa tietojen pyytämiseen palvelimelta. Seuraava on syntaksi hakupyynnön tekemiseen.tuontipyynnöt res = request.get ('url') #res on vastausobjekti tässä.Lähetyspyyntöä käytetään käsiteltävien tietojen lähettämiseen palvelimelle. Seuraava on syntaksin lähettämistä koskeva pyyntö.
tuontipyyntöjen hyötykuorma = {'avain1': 'arvo1'} res = pyynnöt.post ('url', data = hyötykuorma)Nyt kun tiedämme, miten voimme tehdä haku- ja lähetyspyyntöjä, katsotaanpa, kuinka voimme välittää parametreja URL-osoitteelle hakupyynnön avulla.
Parametrien välittäminen URL-osoitteessa
Parametrien välittäminen URL-osoitteessa on yhtä helppoa kuin hakupyynnön tekeminen. Seuraava on esimerkki parametrien siirtämisestä URL-osoitteeseen.tuontipyyntöjen hyötykuorma = {'avain1': 'arvo1', 'avain2': 'arvo2'} res = pyynnöt.get ('url', parametrit = hyötykuorma) tulosta (res.url) #tämä tulostaa URL-osoitteen parametreilla läpäissyt hakupyynnön.
Tilakoodi
Voimme tarkistaa myös tilakoodin, seuraava on koodi tilakoodin tarkistamiseksi:
tuontipyynnöt res = request.get ('url') tulosta (res.status_code ())Jos koodi palauttaa 200, se tarkoittaa, ettei virhettä ole ja pyyntö on hyvin. Jos teemme huonon pyynnön, koodi palauttaa koodin, kuten 404 tai 505, mikä aiheuttaa http-virheen.
Vastauksen sisältö
Voimme myös lukea palvelimen vastauksen sisällön. Kirjasto purkaa sisällön automaattisesti palvelimelta.tuontipyynnöt res = request.get ('url') tulosta (res.content)
Pyynnöissä on myös sisäänrakennettu Json-dekooderi.
tuontipyynnöt res = request.get ('url') tulosta (res.json ()) #tämä saa vastauksen json-muodossa
Usean osan tiedoston lataus
Moniosaisia tiedostoja on erittäin helppo ladata pyyntöjen avulla.tuontipyyntötiedostot = {'tiedosto': avoin ('tiedostonimi', 'rb')} res = pyynnöt.post ('url', tiedostot = tiedostot) tulosta (res.text)Usean tiedoston lähettämistä varten määritämme useita tiedostoja tiedostoparametrissa.
Evästeet ja otsikot
Voimme tarkastella palvelimen vastausotsikoita ja evästeitä vastausobjektin avulla. Seuraava on koodi palvelimen otsikoiden tarkastelemiseen.tuontipyynnöt res = request.get ('url') tulosta (res.headers)Voimme välittää mukautetut otsikot myös URL-osoitteeseen. Katsotaanpa katsoa koodi.
tuontipyyntöjen otsikot = {'avain1': 'arvo1'} res = pyynnöt.get ('url', otsikot = otsikot) tulosta (res.otsikot)Pyynnöt eivät muuta käyttäytymistään mukautettujen otsikkojen perusteella. Ne välitetään yksinkertaisesti viimeiselle pyynnölle. keksit voidaan tarkastella myös vastausobjektilla.
tuontipyynnöt # välittääksemme omat evästeemme voimme käyttää evästeiden parametria cookies = dict (cookies = 'working') res = request.get ('url', cookies = cookies) print (res.text)
Evästeet palautetaan RequestCookieJarissa, joka toimii sanakirjan tavoin, mutta tarjoaa myös täydellisemmän käyttöliittymän, joka soveltuu käytettäväksi useilla verkkotunnuksilla tai poluilla.
Istunnon objekti
Istuntoobjektin avulla voit säilyttää tietyt parametrit pyynnöissä.- Säilyttää evästeet kaikissa istuntokokonaisuuden pyynnöissä
- Käytä urllib3-yhteyden yhdistämistä
- Merkittävä suorituskyky kasvaa
- Istuntoobjektilla on kaikki pääpyyntöliittymän menetelmät
s = request.session () s.get ('url') res = s.get ('url') tulosta (res.text)
Virheet ja poikkeukset
Seuraavassa on virheitä ja poikkeuksia, joita python-pyyntö herättää.- Verkko-ongelman sattuessa pyynnöt herättävät ConnectionError-poikkeuksen.
- Response.raise_for_status () herättää HTTP-virheen, kun tilakoodi epäonnistuu.
- Jos aikakatkaisu on olemassa, se aiheuttaa aikakatkaisun poikkeuksen
- TooManyRedirects-poikkeus nousee, jos pyyntö ylittää uudelleenohjausten enimmäismäärän määritetyn määrän.