Python pieprasījumi: viss, kas jums jāzina



Šis emuārs detalizēti iepazīstinās jūs ar python pieprasījumu moduli. Jūs iepazīsities ar GET un POST pieprasījumiem, sesijas objektiem, sīkfailiem un galvenēm.

Python katru dienu prasa gandrīz 400 000 lejupielādes. Šis skaitlis ir pietiekami acīmredzams, lai saprastu par tā popularitāti . Pēdējos gados python programmēšanas valoda ir kļuvusi par visvairāk vēlamo programmēšanas valodu daudziem izstrādātājiem. Jēdzieni un bibliotēkas, piemēram, pieprasījumi, ir viens no daudzajiem iemesliem, kāpēc izstrādātāji pāriet no citām programmēšanas valodām uz pitonu. Šajā emuārā mēs izskatīsim šādas tēmas:

Kas ir Python pieprasījumi?

Python pieprasījumus ir uzrakstījis Kenets Rics un licencēts apache 2.0. Tā ir cilvēkiem draudzīga HTTP bibliotēka, kā tas ir minēts oficiālās dokumentācijas lapā. To ir viegli izmantot, un to galvenokārt izmanto visu veidu HTTP pieprasījumu veikšanai. Tālāk ir norādītas dažas papildu funkcijas, ar kurām tiek saistīti pieprasījumi:
  1. Saglabājiet dzīvību un savienojuma apvienošanu
  2. Starptautiskie domēni un URL
  3. Sesijas ar sīkfailu neatlaidību
  4. Pārlūkprogrammas stila SSL verifikācija
  5. Automātiska satura dekodēšana
  6. Pamata / īsākā autentifikācija
  7. Elegantas atslēgu / vērtību sīkdatnes
  8. Automātiska dekompresija
  9. Unicode atbildes ķermeņi
  10. HTTP starpniekservera atbalsts
  11. Daudzpartiju failu augšupielāde
  12. Straumēšanas lejupielādes
  13. Savienojuma taimauts
  14. Sadalīti pieprasījumi
Šīs ir visas python pieprasījumu bibliotēkas uzlabotās funkcijas, ļaujot mēģināt saprast, kāpēc mēs vispirms izmantojam python pieprasījumus.

Kāpēc izmantot Python pieprasījumus?

Kad runa ir par to, kāpēc mēs izmantojam python pieprasījumus? iemesls ir diezgan vienkāršs. Izmantojot python pieprasījumus, jums nav manuāli jāpievieno vaicājumi vietrāžiem URL un jāformatē pasta dati. Tas atvieglo mūsu darbu, veicot jebkāda veida http pieprasījumus.Tagad, kad mēs esam iepazinušies ar python pieprasījumiem un kāpēc mēs tos izmantojam pitonā, ļaujiet mēģināt saprast, kā mēs instalēsim pieprasījumus mūsu projektā vai sistēmā.

Kā instalēt Python pieprasījumus?

Arī uzstādīšanas daļa ir ļoti vienkārša. Ja jūsu sistēmā ir instalēta pipenv iestatīšana, jūs varat vienkārši izpildīt šādu komandu terminālā.

$ pip instalēšanas pieprasījumi

Tas instalēs pieprasījumu bibliotēku jūsu sistēmā. Pieprasījumu instalēšanai ir vēl viena pieeja. Ja izmantojat pycharm, iestatījumos varat pievienot pieprasījumus projekta tulkotājam. Bibliotēkas instalēšanas gadījumā mūsu projektā tam ir tāds pats mērķis kā terminālim.Tagad, kad mēs esam paveikuši instalēšanu, mēģiniet saprast, kā mēs veiksim pieprasījumu saņemšanu un izlikšanu pitonā.

Kā iesniegt pieprasījumus?

Iegūt pieprasījumu galvenokārt izmanto, lai pieprasītu datus no servera. Tālāk ir sintakse, lai veiktu pieprasījumu.
importa pieprasījumi res = request.get ('url') #res ir šeit atbildes objekts.
Post pieprasījums tiek izmantots apstrādājamo datu iesniegšanai serverī. Tālāk ir sintakse, lai veiktu ziņojuma pieprasījumu.
importēšanas pieprasījumu lietderīgā slodze = {'key1': 'vērtība1'} res = pieprasījumi.post ('url', dati = lietderīgā slodze)
Tagad, kad mēs zinām, kā mēs varam iesniegt saņemšanas un publicēšanas pieprasījumus, apskatīsim, kā mēs varam pārsūtīt parametrus vietrādim URL, izmantojot pieprasījumu saņemt.

Parametru nodošana URL

Parametru nosūtīšana URL ir tikpat vienkārša kā pieprasījuma saņemšana. Šis ir piemērs, kā nodot parametrus vietrādim URL.
importēšanas pieprasījumu lietderīgā slodze = {'key1': 'value1', 'key2': 'value2'} res = pieprasījumi.get ('url', params = lietderīgā slodze) print (res.url) #this izdrukās URL ar parametriem iziet cauri saņemšanas pieprasījumam.

Statusa kods

Mēs varam pārbaudīt arī statusa kodu. Tālāk ir norādīts kods, lai pārbaudītu statusa kodu:





importēšanas pieprasījumi res = pieprasījumi.get ('url') druka (res.status_code ())
Ja kods atgriež 200, tas nozīmē, ka nav kļūdu un pieprasījums ir kārtībā. Ja mēs iesniegsim nepareizu pieprasījumu, kods atgriezīs kodu, piemēram, 404 vai 505, kas radīs http kļūdu.

Atbildes saturs

Mēs varam arī izlasīt servera atbildes saturu. Bibliotēka automātiski atšifrēs saturu no servera.
importa pieprasījumi res = pieprasījumi.get ('url') druka (res.content)

Pieprasījumos ir arī iebūvēts json dekodētājs.

importa pieprasījumi res = pieprasījumi.get ('url') druka (res.json ()) # šie saņems atbildi json formātā

Vairāku daļu faila augšupielāde

Izmantojot pieprasījumus, ir ļoti viegli augšupielādēt daudzdaļīgus failus.
importa pieprasījumu faili = {'fails': atvērts ('faila nosaukums', 'rb')} res = pieprasījumi.post ('url', faili = faili) druka (res.text)
Lai nosūtītu vairākus failus, failu parametrā norādīsim vairākus failus.

Sīkdatnes un galvenes

Izmantojot atbildes objektu, mēs varam skatīt servera atbildes galvenes un sīkfailus. Tālāk ir kods, lai apskatītu servera galvenes.
importēšanas pieprasījumi res = request.get ('url') drukāt (res.headers)
Mēs varam nodot pielāgotās galvenes arī vietrādim URL. Apskatīsim kodu.
importa pieprasījumu galvenes = {'key1': 'value1'} res = pieprasījumi.get ('url', galvenes = galvenes) print (res. headers)
Pieprasījumi nemaina tā darbību, pamatojoties uz pielāgotām galvenēm. Tie vienkārši tiek nodoti galīgajam pieprasījumam. cepumi var apskatīt arī, izmantojot atbildes objektu.
importa pieprasījumi # lai nodotu mūsu pašu sīkfailus, mēs varam izmantot sīkfailu parametru cookies = dict (cookies = 'working') res = request.get ('url', cookies = cookies) print (res.text)

Sīkfaili tiek atgriezti RequestCookieJar, kas darbojas kā vārdnīca, bet piedāvā arī pilnīgāku saskarni, kas piemērota lietošanai vairākos domēnos vai ceļos.



Sesijas objekts

Sesijas objekts ļauj saglabāt visus parametrus visos pieprasījumos.
  • Pastāv sīkfaili visos pieprasījumos, kas veikti no sesijas instances
  • Izmantojiet urllib3 savienojuma apvienošanu
  • Nozīmīga veiktspēja ir lielāka
  • Sesijas objektam ir visas galveno pieprasījumu API metodes
Šis ir kods, lai saglabātu dažus sīkfailus visu pieprasījumu laikā.
s = pieprasījumi.sesija () s.get ('url') res = s.get ('url') druka (res.text)

Kļūdas un izņēmumi

Tālāk ir norādītas kļūdas un izņēmumi, kas tiek izvirzīti pitona pieprasījumā.
  • Tīkla problēmas gadījumā pieprasījumi radīs ConnectionError izņēmumu.
  • Response.raise_for_status () radīs HTTP kļūdu, ja būs neveiksmīgs statusa kods.
  • Ja ir iestājies taimauts, tas izraisīs taimauta izņēmumu
  • TooManyRedirects izņēmums tiek parādīts, ja pieprasījums pārsniedz konfigurēto maksimālo novirzīšanas reižu skaitu.
Šajā emuārā mēs esam apsprieduši python pieprasījumu moduli, kurā mums ir dažādas uzlabotas funkcijas. Mēs apspriedām instalēšanu un saņemšanas un publicēšanas pieprasījuma izveidošanu ar atbildes saturu un citām koncepcijām pieprasījumu bibliotēkā pitonā. Python pieprasījumu modulis ir viens no daudzajiem neparastajiem īpašajiem pitona programmēšanas valoda . Jūs varat sākt mācīšanos, reģistrējoties un atklāt pitona programmēšanas valodas iespējas. Vai jums ir kādi jautājumi? pieminējiet tos komentāru sadaļā, mēs ar jums sazināsimies.