- Kas yra „Python“ užklausos?
- Kodėl verta naudoti „Python“ užklausas?
- Kaip įdiegti „Python“ užklausas?
- Gauti ir paskelbti užklausas
- Parametrų perdavimas URL
- Būsenos kodas
- Atsakymo turinys
- Kelių dalių failo įkėlimas
- Slapukai ir antraštės
- Seanso objektas
- Klaidos ir išimtys
Kas yra „Python“ užklausos?
„Python“ užklausas parašė Kennethas Reitzas ir licencijavo pagal apache 2.0. Tai yra žmonėms pritaikyta HTTP biblioteka, kaip minima oficialiame dokumentacijos puslapyje. Tai paprasta naudoti ir iš esmės naudojama atliekant visų rūšių HTTP užklausas. Toliau pateikiamos kelios išplėstinės užklausų funkcijos:- Palaikykite gyvą ir sujungite jungtis
- Tarptautiniai domenai ir URL
- Sesijos su slapukų atkaklumu
- Naršyklės stiliaus SSL patvirtinimas
- Automatinis turinio dekodavimas
- Pagrindinis / santraukinis autentifikavimas
- Elegantiški raktų / vertės slapukai
- Automatinis dekompresija
- „Unicode“ atsako kūnai
- HTTP proxy palaikymas
- Įkeliami daugybiniai failai
- Srautiniai atsisiuntimai
- Ryšio skirtasis laikas
- Susikaupę prašymai
Kodėl verta naudoti „Python“ užklausas?
Kodėl reikia naudoti „python“ užklausas? priežastis yra gana paprasta. Naudodamiesi „python“ užklausomis, neprivalote rankiniu būdu pridėti užklausų prie savo URL ir formuoti kodavimo pranešimų duomenų. Tai palengvina mūsų darbą teikiant bet kokios rūšies http užklausas.Dabar, kai esame susipažinę su „python“ užklausomis ir kodėl jas naudojame „Python“, galime pabandyti suprasti, kaip mes įdiegsime užklausas savo projekte ar sistemoje.Kaip įdiegti „Python“ užklausas?
Montavimo dalis taip pat yra labai lengva. Jei sistemoje turite įdiegtą „pipenv“ sąranką, galite tiesiog paleisti šią komandą terminale.$ pip įdiegimo užklausos
Tai užklausų biblioteką įdiegs jūsų sistemoje. Yra dar vienas būdas įdiegti užklausas. Jei naudojate „pycharm“, nustatymuose galite įtraukti užklausas į projekto vertėją. Jei naudojatės biblioteka mūsų projekte, ji tarnauja tokiam pat tikslui kaip ir terminalas.Dabar, kai baigiame diegimą, galime pabandyti suprasti, kaip pateiksime užklausas ir skelbsime „Python“.Kaip pateikti užklausas gauti ir paskelbti?
Gauti užklausą iš esmės naudojamas prašyti duomenų iš serverio. Toliau pateikiama gavimo užklausos sintaksė.importavimo užklausos res = request.get ('url') #res yra atsakymo objektas čia.Skelbimo užklausa naudojama pateikti duomenis, kuriuos reikia apdoroti, į serverį. Toliau pateikiama pranešimo apie užklausą sintaksė.
importo užklausų naudingoji apkrova = {'key1': 'value1'} res = request.post ('url', data = naudingoji apkrova)Dabar, kai žinome, kaip galime pateikti užklausas gauti ir skelbti, pažvelkime, kaip galime perduoti parametrus URL naudodami užklausą gauti.
Parametrų perdavimas URL
Parametrus URL perduoti taip pat paprasta, kaip pateikti užklausą. Toliau pateikiamas pavyzdys, kaip perduoti parametrus URL.importo užklausų naudingoji apkrova = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = naudingoji apkrova) print (res.url) #tai tai atspausdins URL su parametrais praėjo gauti užklausą.
Būsenos kodas
Mes taip pat galime patikrinti būsenos kodą, šis kodas yra būsenos kodas:
importuoti užklausas res = request.get ('url') spausdinti (res.status_code ())Jei kodas grąžina 200, tai reiškia, kad klaidos nėra ir užklausa yra gerai. Jei pateiksime neteisingą užklausą, kodas grąžins 404 arba 505 kodą, kuris sukels http klaidą.
Atsakymo turinys
Taip pat galime perskaityti serverio atsakymo turinį. Biblioteka automatiškai iššifruos turinį iš serverio.importuoti užklausas res = request.get ('url') spausdinti (res.content)
Užklausose taip pat yra įmontuotas „Json“ dekoderis.
kaip įspėti javascript
importuoti užklausas res = request.get ('url') spausdinti (res.json ()) #tai gausite atsakymą json formatu
Kelių dalių failo įkėlimas
Naudojant užklausas, labai lengva įkelti kelių dalių failus.importo užklausų failai = {'file': open ('failo vardas', 'rb')} res = request.post ('url', failai = failai) spausdinti (res.text)Norėdami siųsti kelis failus, failų parametre nurodysime kelis failus.
Slapukai ir antraštės
Mes galime peržiūrėti serverio atsakymo antraštes ir slapukus naudodami atsakymo objektą. Toliau pateikiamas kodas, skirtas serverio antraštėms peržiūrėti.importuoti užklausas res = request.get ('url') spausdinti (res.headers)Taip pat galime perduoti pasirinktines antraštes į URL. Pažvelkime į kodą.
importo užklausų antraštės = {'key1': 'value1'} res = užklausos.get ('url', antraštės = antraštės) spausdinti (res.headers)Užklausos nekeičia savo elgesio, pagrįstos pasirinktinėmis antraštėmis. Jie tiesiog perduodami galutiniam prašymui. sausainiai taip pat galima peržiūrėti naudojant atsakymo objektą.
importuoti užklausas # norėdami perduoti savo slapukus, mes galime naudoti slapukų parametrą slapukus = dict (cookies = 'working') res = request.get ('url', cookies = cookies) print (res.text)
Slapukai grąžinami „RequestCookieJar“, kuris veikia kaip žodynas, bet taip pat siūlo išsamesnę sąsają, tinkamą naudoti keliuose domenuose ar keliuose.
Seanso objektas
Sesijos objektas leidžia išsaugoti tam tikrus parametrus visose užklausose.- Išlieka slapukai visose užklausose, pateiktose iš seanso egzemplioriaus
- Naudokite „urllib3“ ryšio sujungimą
- Didelis našumas
- Seanso objekte yra visi pagrindinių užklausų API metodai
s = request.session () s.get ('url') res = s.get ('url') spausdinti (res.text)
Klaidos ir išimtys
Toliau pateikiamos klaidos ir išimtys, iškeltos python užklausoje.- Iškilus tinklo problemai, užklausos iškels „ConnectionError“ išimtį.
- „Response.raise_for_status“) iškels HTTP klaidą, kai būsenos kodas bus nesėkmingas.
- Jei yra skirtasis laikas, jis sukels „Timeout“ išimtį
- „TooManyRedirects“ išimtis iškeliama, jei užklausa viršija nustatytą maksimalaus peradresavimų skaičiaus skaičių.