logo

Opplæring for Python-forespørsler

De Forespørsler om bibliotek i Python er en av de integrerte delene av Python for å lage HTTP-forespørsler til en spesifisert URL. Enten det er REST APIer eller nettskraping, er forespørsler et must å lære for å fortsette videre med disse teknologiene. Når man sender en forespørsel til en URI, returnerer den et svar. Python-forespørsler gir innebygde funksjoner for å administrere både forespørselen og svaret.

hvordan oppfant skolen

I denne opplæringen vil vi utforske hva som er Python Request Library , Hvordan lage GET forespørsler gjennom Python-forespørsler, responsobjekter og -metoder, autentisering ved hjelp av Python-forespørsler, og så videre.



python-requests-modul

Innholdsfortegnelse

Hva er Python Requests-modulen?

  • Requests er et Apache2-lisensiert HTTP-bibliotek, som gjør det mulig å sende HTTP/1.1-forespørsler ved hjelp av Python.
  • For å spille med web, er Python Requests et must. Enten det er å treffe APIer, laste ned hele facebook-sider og mye mer kule ting, må man sende en forespørsel til URL-en.
  • Forespørsler spiller en stor rolle er å håndtere REST APIer , og Nettskraping .
  • Sjekk ut et eksempel på et Python-skript ved å bruke forespørsler og nettskraping – Implementering av nettskraping i Python med BeautifulSoup

Installere forespørsler

Forespørsler om installasjon avhenger av type operativsystem på eis bruk, den grunnleggende kommandoen hvor som helst ville være å åpne en kommandoterminal og kjøre,



pip install requests>

Den grunnleggende metoden for installasjon av forespørsler på et hvilket som helst operativsystem er å ta tak i basisfilene og installere forespørsler manuelt, og Requests er aktivt utviklet på GitHub, hvor koden alltid er tilgjengelig. For kode – besøk her . Du kan enten klone det offentlige depotet:

git clone git://github.com/psf/requests.git>

Når du har en kopi av kilden, kan du bygge den inn i din egen Python-pakke, eller enkelt installere den i nettstedspakkene dine:

cd requestspip install   .>

For mer utsjekking – Hvordan installere forespørsler i Python - For Windows, Linux, Mac



Lager en forespørsel

Python-forespørselsmodulen har flere innebygde metoder for å lage Http-forespørsler til spesifisert URI ved å bruke GET, POST, PUT, PATCH eller HEAD-forespørsler. En Http-forespørsel er ment å enten hente data fra en spesifisert URI eller å sende data til en server. Den fungerer som en forespørsel-svar-protokoll mellom en klient og en server. La oss demonstrere hvordan du sender en GET-forespørsel til et endepunkt. GET-metoden brukes til å hente informasjon fra den gitte serveren ved å bruke en gitt URI. GET-metoden sender den kodede brukerinformasjonen som er lagt til sideforespørselen. Siden og den kodede informasjonen er atskilt med tegnet «?». For eksempel:

https://www.google.com/search?q=hello>

Hvordan lage GET-forespørsel gjennom Python-forespørsler

Pythons forespørselsmodul gir en innebygd metode kalt få() for å sende en GET-forespørsel til en spesifisert URI.

Syntaks

requests.get(url, params={key: value}, args)>

Eksempel:

La oss prøve å sende inn en forespørsel til githubs APIer for eksempel.

Python3




import> requests> > # Making a GET request> r>=> requests.get(>' https://api.github.com/users/naveenkrnl '>)> > # check status code for response received> # success code - 200> print>(r)> > # print content of request> print>(r.content)>

>

>

lagre denne filen som request.py og gjennom terminalkjøring,

python request.py>

Utgang –

python-requests-get-metoden

For mer, besøk - GET-metoden – Python-forespørsler

Http-forespørselsmetoder

betinget operatør i java
Metode Beskrivelse
GET-metoden brukes til å hente informasjon fra den gitte serveren ved å bruke en gitt URI.
POST POST-forespørselsmetoden ber om at en webserver godtar dataene som er vedlagt i brødteksten i forespørselsmeldingen, mest sannsynlig for å lagre dem
SETTE PUT-metoden ber om at den vedlagte enheten lagres under den medfølgende URIen. Hvis URIen refererer til en allerede eksisterende ressurs, endres den, og hvis URIen ikke peker til en eksisterende ressurs, kan serveren opprette ressursen med den URIen.
SLETT DELETE-metoden sletter den angitte ressursen
HODE HEAD-metoden ber om et svar som er identisk med det for en GET-forespørsel, men uten svarorganet.
LAPP Den brukes til å endre funksjoner. PATCH-forespørselen trenger bare å inneholde endringene til ressursen, ikke hele ressursen

Responsobjekt

Når man sender en forespørsel til en URI, returnerer den et svar. Dette Response-objektet i form av python returneres av requests.method(), metoden er – get, post, put, etc. Response er et kraftig objekt med mange funksjoner og attributter som hjelper til med å normalisere data eller lage ideelle deler av kode. For eksempel, response.status_code returnerer statuskoden fra selve overskriftene, og man kan sjekke om forespørselen ble behandlet vellykket eller ikke. Responsobjekt kan brukes til å antyde mange funksjoner, metoder og funksjoner.

Eksempel:

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://api.github.com/ '>)> # print request object> print>(response.url)> # print status code> print>(response.status_code)>

>

>

Lagre denne filen som request.py, og kjør med kommandoen nedenfor

Python request.py>

respons-python-forespørsler

Statuskode 200 indikerer at forespørselen ble utført.

Responsmetoder

Metode Beskrivelse
respons.overskrifter response.headers returnerer en ordbok med svarhoder.
respons.koding response.encoding returnerer kodingen som brukes til å dekode response.content.
respons.forløpt response.elapsed returnerer et timedelta-objekt med tiden som har gått fra sending av forespørselen til ankomsten av svaret.
response.close() response.close() lukker tilkoblingen til serveren.
respons.innhold response.content returnerer innholdet i svaret, i byte.
response.informasjonskapsler response.cookies returnerer et CookieJar-objekt med informasjonskapslene sendt tilbake fra serveren.
respons.historikk response.history returnerer en liste over responsobjekter som inneholder forespørselshistorikken (url).
response.is_permanent_redirect response.is_permanent_redirect returnerer True hvis svaret er den permanente omdirigerte url, ellers False.
response.is_redirect response.is_redirect returnerer True hvis svaret ble omdirigert, ellers False.
response.iter_content() response.iter_content() itererer over response.content.
response.json() response.json() returnerer et JSON-objekt av resultatet (hvis resultatet ble skrevet i JSON-format, gir det en feil hvis ikke).
response.url response.url returnerer URL-en til svaret.
respons.tekst response.text returnerer innholdet i svaret, i unicode.
response.status_code response.status_code returnerer et tall som indikerer statusen (200 er OK, 404 er ikke funnet).
response.request response.request returnerer forespørselsobjektet som ba om dette svaret.
respons.grunn response.reason returnerer en tekst som tilsvarer statuskoden.
response.raise_for_status() response.raise_for_status() returnerer et HTTPError-objekt hvis det har oppstått en feil under prosessen.
respons.ok response.ok returnerer True hvis status_code er mindre enn 200, ellers False.
response.links response.links returnerer header-lenkene.

Autentisering ved hjelp av Python-forespørsler

Autentisering refererer til å gi en bruker tillatelse til å få tilgang til en bestemt ressurs. Siden alle ikke kan få tilgang til data fra hver URL, vil man først og fremst kreve autentisering. For å oppnå denne autentiseringen, gir man vanligvis autentiseringsdata gjennom autorisasjonshode eller en egendefinert overskrift definert av server.

Eksempel –

søkealgoritmer

Python3




# import requests module> import> requests> from> requests.auth>import> HTTPBasicAuth> # Making a get request> response>=> requests.get(>' https://api.github.com / user, '>,> >auth>=> HTTPBasicAuth(>'user'>,>'pass'>))> # print request object> print>(response)>

>

>

Erstatt bruker og pass med brukernavn og passord. Den vil autentisere forespørselen og returnere et svar 200, ellers vil det returnere feil 403.

autentiser-python-forespørsler

For mer besøk - Autentisering ved hjelp av Python-forespørsler

SSL-sertifikatbekreftelse

Forespørsler bekrefter SSL-sertifikater for HTTPS-forespørsler, akkurat som en nettleser. SSL-sertifikater er små datafiler som digitalt binder en kryptografisk nøkkel til en organisasjons detaljer. Ofte blir en nettside med et SSL-sertifikat betegnet som sikker nettside. Som standard er SSL-verifisering aktivert, og forespørsler vil gi en SSLError hvis det ikke er i stand til å bekrefte sertifikatet.

Deaktiver SSL-sertifikatverifisering

La oss prøve å få tilgang til et nettsted med et ugyldig SSL-sertifikat ved å bruke Python-forespørsler

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://expired.badssl.com/ '>)> # print request object> print>(response)>

>

>

Utgang:-

ssl-certificate-verification-python-requests

Dette nettstedet har ikke SSL-oppsett, så det oppstår denne feilen. man kan også sende lenken til sertifikatet for validering kun via python-forespørsler.

streng til heltall i java

Python3




# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://github.com '>, verify>=>'/path/to/certfile'>)> # print request object> print>(response)>

>

>

Dette vil fungere i tilfelle banen som er oppgitt er riktig for SSL-sertifikatet for github.com.

For mer besøk- SSL-sertifikatverifisering – Python-forespørsler

Øktobjekter

Sesjonsobjekt lar en vedvare visse parametere på tvers av forespørsler. Den vedvarer også informasjonskapsler på tvers av alle forespørsler fra sesjonsforekomsten og vil bruke urllib3s tilkoblingspooling. Så hvis flere forespørsler sendes til samme vert, vil den underliggende TCP-tilkoblingen bli gjenbrukt, noe som kan resultere i en betydelig ytelsesøkning. En sesjon objekter alle metodene fra forespørsler.

Bruke sesjonsobjekter

La oss illustrere bruken av øktobjekter ved å sette en informasjonskapsel til en url og deretter sende en forespørsel på nytt for å sjekke om informasjonskapselen er satt.

Python3




# import requests module> import> requests> > # create a session object> s>=> requests.Session()> > # make a get request> s.get(>' https://httpbin.org/cookies/set/sessioncookie/123456789 '>)> > # again make a get request> r>=> s.get(>' https://httpbin.org/cookies '>)> > # check if cookie is still set> print>(r.text)>

>

>

alfabetet nummer

Produksjon:

session-objects-python-requests

For mer, besøk - Sesjonsobjekter – Python-forespørsler

Konklusjon

Python Request Library er et kraftig verktøy for å lage HTTP-forespørsler og samhandle med web-APIer. I denne opplæringen dekket vi det grunnleggende om sending av GET- og POST-forespørsler, håndtering av parametere og overskrifter og administrasjon av svardata. Bibliotekets enkelhet og intuitive design gjør det tilgjengelig for både nybegynnere og erfarne utviklere.