- Hva er Python-forespørsler?
- Hvorfor bruke Python-forespørsler?
- Hvordan installere Python-forespørsler?
- Gjør Get & Post Requests
- Passere parametere i URL
- Statuskode
- Svarinnhold
- Flerdelt filopplasting
- Informasjonskapsler og overskrifter
- Sesjonsobjekt
- Feil og unntak
Hva er Python-forespørsler?
Python-forespørsler ble skrevet av Kenneth Reitz og lisensiert under apache 2.0. Det er et menneskelig vennlig HTTP-bibliotek som det er nevnt på den offisielle dokumentasjonssiden. Det er enkelt å bruke og i utgangspunktet brukt til å lage alle slags HTTP-forespørsler. Følgende er noen avanserte funksjoner som forespørsler kommer med:- Hold i live og tilkobling
- Internasjonale domener og nettadresser
- Økter med utholdenhet av informasjonskapsler
- SSL-bekreftelse i nettleserstil
- Automatisk dekoding av innhold
- Grunnleggende / fordøyelsesautentisering
- Elegante nøkkel / verdi-informasjonskapsler
- Automatisk dekompresjon
- Unicode-responsorganer
- HTTP-proxy-støtte
- Last opp flere filer
- Streaming Nedlastinger
- Tidsavbrudd for tilkobling
- Chunked forespørsler
Hvorfor bruke Python-forespørsler?
Når det gjelder hvorfor bruker vi pythonforespørsler? årsaken er ganske enkel. Mens du bruker pythonforespørsler, trenger du ikke å legge til spørsmålene manuelt i nettadressene og skjemakode innleggsdataene. Det gjør jobben vår enklere når vi sender http-forespørsler av noe slag.Nå som vi er kjent med pythonforespørsler og hvorfor vi bruker dem i python, kan vi prøve å forstå hvordan vi skal installere forespørsler på prosjektet eller systemet vårt.Hvordan installere Python-forespørsler?
Installasjonsdelen er også veldig enkel. Hvis du har installert pipenv-installasjonen på systemet ditt, kan du bare kjøre følgende kommando i terminalen.$ pip installasjonsforespørsler
Dette vil installere forespørselsbiblioteket på systemet ditt. Det er en tilnærming til å installere forespørsler. Hvis du bruker pycharm, kan du legge til forespørsler på prosjekttolken i innstillingene. Det tjener samme formål som terminalen hvis biblioteket installeres på prosjektet vårt.Nå som vi er ferdig med installasjonen, kan vi prøve å forstå hvordan vi vil få og poste forespørsler i python.Hvordan komme med få og postforespørsler?
Få forespørsel brukes i utgangspunktet for å be om data fra serveren. Følgende er syntaksen for å lage en get-forespørsel.importforespørsler res = requests.get ('url') #res er svarobjektet her.Innleggsforespørsel brukes til å sende inn dataene som skal behandles til serveren. Følgende er syntaksen for å lage en forespørsel om innlegg.
importer forespørsler nyttelast = {'key1': 'verdi1'} res = forespørsler.post ('url', data = nyttelast)Nå som vi vet hvordan vi kan komme med og post forespørsler, kan vi ta en titt på hvordan vi kan overføre parametere til url ved hjelp av get-forespørselen.
Overføring av parametere i en url
Å sende parametere i en url er like enkelt som å komme med en get-forespørsel. Følgende er et eksempel for å overføre parametere til url.importer forespørsler nyttelast = {'key1': 'verdi1', 'key2': 'verdi2'} res = forespørsler.get ('url', params = nyttelast) skriv ut (res.url) # Dette vil skrive ut url med parametrene gått gjennom get-forespørselen.
Statuskode
Vi kan også sjekke statuskoden, følgende er koden for å sjekke statuskoden:
importforespørsler res = requests.get ('url') skriv ut (res.status_code ())Hvis koden returnerer 200, betyr det at det ikke er noen feil, og forespørselen er bra. Hvis vi kommer med en dårlig forespørsel, vil koden returnere kode som 404 eller 505, noe som vil gi en http-feil.
Svarinnhold
Vi kan også lese innholdet i serverens svar. Biblioteket vil automatisk dekode innholdet fra serveren.importforespørsler res = requests.get ('url') skriv ut (res.innhold)
Forespørsler har også en innebygd json-dekoder.
importforespørsler res = requests.get ('url') print (res.json ()) # dette vil få svaret i json-format
Flerdelt filopplasting
Det er veldig enkelt å laste opp filer i flere deler ved hjelp av forespørsler.importer forespørselsfiler = {'file': open ('filename', 'rb')} res = requests.post ('url', files = files) print (res.text)For å sende flere filer vil vi spesifisere flere filer i filparameteren.
Informasjonskapsler og overskrifter
Vi kan se serverens svaroverskrifter og informasjonskapsler ved hjelp av svarobjektet. Følgende er koden for å vise serverens overskrifter.importforespørsler res = requests.get ('url') utskrift (res.headers)Vi kan også overføre tilpassede overskrifter til url. La oss ta en titt på koden.
importforespørselshoder = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)Forespørsler endrer ikke oppførselen sin basert på tilpassede overskrifter. De sendes ganske enkelt videre til den endelige forespørselen. informasjonskapsler kan også vises ved hjelp av responsobjektet.
importere forespørsler # for å overføre våre egne informasjonskapsler kan vi bruke informasjonskapslene parameter cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)
Informasjonskapsler returneres i en RequestCookieJar, som fungerer som en ordbok, men som også tilbyr et mer komplett grensesnitt, egnet for bruk over flere domener eller stier.
trim () i java
Sesjonsobjekt
Sesjonsobjektet lar deg vedvare bestemte parametere på tvers av forespørslene.- Vedvarer informasjonskapsler på tvers av alle forespørsler fra øktforekomsten
- Bruk urllib3-tilkobling
- Betydelig ytelse øker
- Et øktobjekt har alle metodene for API for hovedforespørsler
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)
Feil og unntak
Følgende er feilene og unntakene som er reist i en pythonforespørsel.- I tilfelle nettverksproblemer, vil forespørsler heve et ConnectionError-unntak.
- Response.raise_for_status () vil heve en HTTP-feil når det ikke foreligger en mislykket statuskode.
- Hvis det er tidsavbrudd, vil det heve et unntak for tidsavbrudd
- TooManyRedirects-unntaket heves hvis forespørselen overstiger det konfigurerte antallet maksimale antall omdirigeringer.