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.
Innholdsfortegnelse
- Hva er Python Requests-modulen?
- Hvordan lage GET-forespørsel gjennom Python-forespørsler
- Http-forespørselsmetoder
- Responsobjekt
- Responsmetoder
- Autentisering ved hjelp av Python-forespørsler
- SSL-sertifikatverifisering
- Øktobjekter
- Konklusjon
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 –
For mer, besøk - GET-metoden – Python-forespørsler
Http-forespørselsmetoder
betinget operatør i java
Metode | Beskrivelse |
---|---|
FÅ | 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>
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.
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:-
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:
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.