- Hvad er Python-anmodninger?
- Hvorfor bruge Python-anmodninger?
- Sådan installeres Python-anmodninger?
- Foretag Get & Post-anmodninger
- Videregivelse af parametre i URL
- Status kode
- Svarindhold
- Flerdelt filupload
- Cookies og overskrifter
- Sessionsobjekt
- Fejl og undtagelser
Hvad er Python-anmodninger?
Python-anmodninger blev skrevet af Kenneth Reitz og licenseret under apache 2.0. Det er et menneskeligt venligt HTTP-bibliotek, som det er nævnt på den officielle dokumentationsside. Det er let at bruge og dybest set brugt til at lave alle mulige HTTP-anmodninger. Følgende er et par avancerede funktioner, som anmodninger kommer med:- Hold dig i live og forbindelsespooling
- Internationale domæner og webadresser
- Sessioner med cookie-persistens
- SSL-verifikation i browser-stil
- Automatisk afkodning af indhold
- Grundlæggende / fordøjelsesgodkendelse
- Elegante nøgle / værdi cookies
- Automatisk dekompression
- Unicode-responsorganer
- HTTP-proxy-understøttelse
- Multipart fil uploads
- Streaming downloads
- Forbindelsestimeouts
- Chunked anmodninger
Hvorfor bruge Python-anmodninger?
Når det kommer til, hvorfor bruger vi python-anmodninger? grunden er ret enkel. Mens du bruger python-anmodninger, behøver du ikke at tilføje forespørgslerne manuelt til dine webadresser og formkode postdata. Det gør vores job lettere, når vi fremsætter http-anmodninger af enhver art.Nu hvor vi er bekendt med pythonanmodninger, og hvorfor vi bruger dem i python, kan vi prøve at forstå, hvordan vi installerer anmodninger på vores projekt eller system.Sådan installeres Python-anmodninger?
Installationsdelen er også meget let. Hvis du har installeret pipenv-opsætningen på dit system, kan du blot køre følgende kommando i terminalen.$ pip-installationsanmodninger
Dette installerer anmodningsbiblioteket på dit system. Der er en yderligere tilgang til installation af anmodninger. Hvis du bruger pycharm, kan du tilføje anmodninger om projekttolken i indstillingerne. Det tjener det samme formål som terminalen, hvis biblioteket installeres på vores projekt.Nu hvor vi er færdige med installationen, kan vi prøve at forstå, hvordan vi vil få og poste anmodninger i python.Hvordan laver jeg få & post anmodninger?
Get-anmodning bruges grundlæggende til at anmode om data fra serveren. Følgende er syntaksen for at komme med en anmodning.importanmodninger res = anmodninger.get ('url') #res er svarobjektet her.Postanmodning bruges til at indsende de data, der skal behandles til serveren. Følgende er syntaksen for at indgive en postanmodning.
importanmodninger nyttelast = {'key1': 'værdi1'} res = anmodninger.post ('url', data = nyttelast)Nu hvor vi ved, hvordan vi kan komme med få og sende anmodninger, kan vi se på, hvordan vi kan overføre parametre til url ved hjælp af get-anmodningen.
Videregivelse af parametre i en url
At videregive parametre i en url er så simpelt som at lave en get-anmodning. Følgende er et eksempel på at overføre parametre til url.importanmodninger nyttelast = {'key1': 'værdi1', 'key2': 'værdi2'} res = anmodninger.get ('url', params = nyttelast) udskriv (res.url) # dette vil udskrive url med parametrene gennemgået get-anmodningen.
Status kode
Vi kan også kontrollere statuskoden, følgende er koden for at kontrollere statuskoden:
importanmodninger res = anmodninger.get ('url') udskriv (res.status_code ())Hvis koden returnerer 200, betyder det, at der ikke er nogen fejl, og anmodningen er i orden. Hvis vi fremsætter en dårlig anmodning, returnerer koden kode som 404 eller 505, hvilket vil medføre en http-fejl.
Svarindhold
Vi kan også læse indholdet af serverens svar. Biblioteket afkoder automatisk indholdet fra serveren.importanmodninger res = anmodninger.get ('url') udskriv (res.indhold)
Anmodninger har også en indbygget json-dekoder.
importanmodninger res = anmodninger.get ('url') print (res.json ()) # dette får svaret i json-format
Flerdelt upload af filer
Det er meget let at uploade flerdelte filer ved hjælp af anmodninger.importer anmodningsfiler = {'fil': åben ('filnavn', 'rb')} res = anmodninger.post ('url', filer = filer) udskriv (res.tekst)Til afsendelse af flere filer specificerer vi flere filer i filparameteren.
Cookies og overskrifter
Vi kan se serverens svaroverskrifter og cookies ved hjælp af svarobjektet. Følgende er koden for at se serverens overskrifter.importanmodninger res = anmodninger.get ('url') print (res.headers)Vi kan også sende brugerdefinerede overskrifter til webadressen. Lad os se på koden.
importer anmodningsoverskrifter = {'key1': 'værdi1'} res = anmodninger.get ('url', overskrifter = overskrifter) udskriv (res.overskrifter)Anmodninger ændrer ikke dens adfærd baseret på tilpassede overskrifter. De sendes simpelthen videre til den endelige anmodning. cookies kan også ses ved hjælp af svarobjektet.
importer anmodninger # for at videregive vores egne cookies kan vi bruge cookies parameter cookies = dict (cookies = 'working') res = anmodninger.get ('url', cookies = cookies) print (res.text)
Cookies returneres i en RequestCookieJar, der fungerer som en ordbog, men også tilbyder en mere komplet grænseflade, der er egnet til brug over flere domæner eller stier.
Sessionsobjekt
Sessionsobjektet giver dig mulighed for at opretholde visse parametre på tværs af anmodningerne.- Vedvarer cookies på tværs af alle anmodninger fra sessionforekomsten
- Brug urllib3-forbindelsespooling
- Betydelig præstationsforøgelse
- Et sessionobjekt har alle metoderne i de vigtigste anmodninger API
s = anmodninger.session () s.get ('url') res = s.get ('url') print (res.text)
Fejl og undtagelser
Følgende er de fejl og undtagelser, der er rejst i en pythonanmodning.- I tilfælde af netværksproblemer opfordrer anmodninger en ConnectionError-undtagelse.
- Response.raise_for_status () hæver en HTTP-fejl, når der er en mislykket statuskode.
- Hvis der er en timeout, vil det medføre en timeout-undtagelse
- TooManyRedirects-undtagelsen hæves, hvis anmodningen overstiger det konfigurerede antal maksimale antal omdirigeringer.