logo

Handledning för Python-förfrågningar

De Begär bibliotek i Python är en av de integrerade delarna av Python för att göra HTTP-förfrågningar till en angiven URL. Oavsett om det är REST API:er eller Web Scraping, är förfrågningar ett måste att lära sig för att gå vidare med dessa teknologier. När man gör en begäran till en URI, returnerar den ett svar. Python-förfrågningar tillhandahåller inbyggda funktioner för att hantera både begäran och svar.

java arraylist metoder

I den här handledningen kommer vi att utforska vad som är Python Request Library , Hur man gör GET-förfrågningar genom Python-förfrågningar, svarsobjekt och metoder, autentisering med Python-förfrågningar och så vidare.



python-requests-modul

Innehållsförteckning

Vad är Python Requests-modulen?

  • Requests är ett Apache2-licensierat HTTP-bibliotek, som gör det möjligt att skicka HTTP/1.1-förfrågningar med Python.
  • För att spela med webben är Python Requests ett måste. Oavsett om det är att träffa API:er, ladda ner hela facebooksidor och mycket mer coola grejer, måste man göra en begäran till URL:en.
  • Förfrågningar spelar en stor roll hanteras REST API:er , och Web skrapning .
  • Kolla in ett exempel på Python-skript med förfrågningar och webbskrapning – Implementera webbskrapning i Python med BeautifulSoup

Installationsförfrågningar

Begäran om installation beror på vilken typ av operativsystem som vi använder, det grundläggande kommandot var som helst skulle vara att öppna en kommandoterminal och köra,



pip install requests>

Den grundläggande metoden för installation av förfrågningar på vilket operativsystem som helst är att ta tag i basfilerna och installera förfrågningar manuellt och Requests utvecklas aktivt på GitHub, där koden alltid är tillgänglig. För kod – besök här . Du kan antingen klona det offentliga förvaret:

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

När du har en kopia av källan kan du bädda in den i ditt eget Python-paket eller enkelt installera det i dina webbplatspaket:

cd requestspip install   .>

För mer utcheckning – Hur man installerar förfrågningar i Python – För Windows, Linux, Mac



Lämnar in en ansökan

Python-begäran-modulen har flera inbyggda metoder för att göra Http-förfrågningar till specificerad URI med GET, POST, PUT, PATCH eller HEAD-förfrågningar. En Http-begäran är avsedd att antingen hämta data från en specificerad URI eller att skicka data till en server. Det fungerar som ett begäran-svar-protokoll mellan en klient och en server. Låt oss visa hur man gör en GET-förfrågan till en slutpunkt. GET-metoden används för att hämta information från den givna servern med hjälp av en given URI. GET-metoden skickar den kodade användarinformationen som läggs till sidförfrågan. Sidan och den kodade informationen är åtskilda av tecknet '?'. Till exempel:

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

Hur man gör GET-förfrågan genom Python-förfrågningar

Pythons begärandemodul tillhandahåller en inbyggd metod som kallas skaffa sig() för att göra en GET-begäran till en specificerad URI.

Syntax

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

Exempel:

Låt oss försöka göra en begäran till githubs API:er för exempel.

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)>

>

>

spara den här filen som request.py och genom terminalkörning,

python request.py>

Utgång –

python-requests-get-metod

För mer, besök - GET-metoden – Python-förfrågningar

Http-begäransmetoder

Metod Beskrivning
SKAFFA SIG GET-metoden används för att hämta information från den givna servern med hjälp av en given URI.
POSTA POST-förfrågningsmetoden begär att en webbserver accepterar data som finns inkluderade i meddelandets brödtext, troligen för att lagra den
SÄTTA PUT-metoden begär att den bifogade enheten lagras under den medföljande URI:n. Om URI:n hänvisar till en redan existerande resurs, ändras den och om URI:n inte pekar på en befintlig resurs kan servern skapa resursen med den URI:n.
RADERA Metoden DELETE tar bort den angivna resursen
HUVUD HEAD-metoden ber om ett svar som är identiskt med det för en GET-förfrågan, men utan svarskroppen.
LAPPA Det används för att modifiera funktioner. PATCH-begäran behöver bara innehålla ändringarna av resursen, inte hela resursen

Responsobjekt

När man gör en begäran till en URI, returnerar den ett svar. Detta Response-objekt i termer av python returneras av requests.method(), metoden är – get, post, put, etc. Response är ett kraftfullt objekt med massor av funktioner och attribut som hjälper till att normalisera data eller skapa ideala delar av kod. Till exempel, response.status_code returnerar statuskoden från själva rubrikerna, och man kan kontrollera om begäran behandlades framgångsrikt eller inte. Responsobjekt kan användas för att antyda många funktioner, metoder och funktioner.

Exempel:

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)>

>

>

hur man kontrollerar skärmstorleken

Spara den här filen som request.py och kör med kommandot nedan

Python request.py>

response-python-requests

Statuskod 200 indikerar att begäran gjordes framgångsrikt.

Svarsmetoder

Metod Beskrivning
response.headers response.headers returnerar en ordbok med svarsrubriker.
response.encoding response.encoding returnerar den kodning som används för att avkoda response.content.
svar.förflutit response.elapsed returnerar ett timedelta-objekt med den tid som förflutit från att begäran skickades tills svaret anlände.
response.close() response.close() stänger anslutningen till servern.
response.content response.content returnerar innehållet i svaret, i byte.
response.cookies response.cookies returnerar ett CookieJar-objekt med cookies som skickas tillbaka från servern.
svarshistorik response.history returnerar en lista med svarsobjekt som innehåller historiken för begäran (url).
response.is_permanent_redirect response.is_permanent_redirect returnerar True om svaret är den permanenta omdirigerade webbadressen, annars False.
response.is_redirect response.is_redirect returnerar True om svaret omdirigerades, annars False.
response.iter_content() response.iter_content() itererar över response.content.
response.json() response.json() returnerar ett JSON-objekt av resultatet (om resultatet skrevs i JSON-format, om inte ger det ett fel).
response.url response.url returnerar webbadressen till svaret.
svar.text response.text returnerar innehållet i svaret, i unicode.
response.status_code response.status_code returnerar ett nummer som indikerar status (200 är OK, 404 är inte hittat).
response.request response.request returnerar förfrågningsobjektet som begärde detta svar.
svar.anledning response.reason returnerar en text som motsvarar statuskoden.
response.raise_for_status() response.raise_for_status() returnerar ett HTTPError-objekt om ett fel har inträffat under processen.
svar.ok response.ok returnerar True om status_code är mindre än 200, annars False.
response.links response.links returnerar rubriklänkarna.

Autentisering med Python Requests

Autentisering avser att ge en användare behörighet att komma åt en viss resurs. Eftersom alla inte kan tillåtas komma åt data från varje webbadress, skulle man i första hand kräva autentisering. För att uppnå denna autentisering tillhandahåller man vanligtvis autentiseringsdata via Authorization header eller en anpassad header som definieras av servern.

Exempel –

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)>

>

>

vad är map java

Ersätt användare och pass med ditt användarnamn och lösenord. Det kommer att autentisera begäran och returnera ett svar 200, annars returnerar det fel 403.

authenticate-python-requests

För mer besök – Autentisering med Python-förfrågningar

SSL-certifikatverifiering

Requests verifierar SSL-certifikat för HTTPS-förfrågningar, precis som en webbläsare. SSL-certifikat är små datafiler som digitalt binder en kryptografisk nyckel till en organisations uppgifter. Ofta kallas en webbplats med ett SSL-certifikat som säker webbplats. Som standard är SSL-verifiering aktiverad och förfrågningar kommer att skicka ett SSLError om det inte går att verifiera certifikatet.

Inaktivera SSL-certifikatverifiering

Låt oss försöka komma åt en webbplats med ett ogiltigt SSL-certifikat med hjälp av Python-förfrågningar

Python3




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

java bubbel sortering
>

>

Utgång:-

ssl-certificate-verification-python-requests

Den här webbplatsen har inte SSL-inställning så det uppstår detta fel. man kan också skicka länken till certifikatet för validering endast via python-förfrågningar.

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)>

>

>

Detta skulle fungera om den angivna sökvägen är korrekt för SSL-certifikat för github.com.

För mer besök- SSL-certifikatverifiering – Python-förfrågningar

Sessionsobjekt

Sessionsobjekt tillåter en att bevara vissa parametrar över förfrågningar. Det behåller också cookies över alla förfrågningar från sessionsinstansen och kommer att använda urllib3s anslutningspoolning. Så om flera förfrågningar görs till samma värd kommer den underliggande TCP-anslutningen att återanvändas, vilket kan resultera i en betydande prestandaökning. En session objekt alla metoder som förfrågningar.

Använda sessionsobjekt

Låt oss illustrera användningen av sessionsobjekt genom att ställa in en cookie till en url och sedan göra en begäran igen för att kontrollera om cookie är inställd.

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)>

>

>

Produktion:

session-objects-python-requests

För mer, besök - Sessionsobjekt – Python-förfrågningar

java gör medan

Slutsats

Python Request Library är ett kraftfullt verktyg för att göra HTTP-förfrågningar och interagera med webb-API:er. I den här handledningen täckte vi grunderna för att skicka GET- och POST-förfrågningar, hantera parametrar och rubriker och hantera svarsdata. Bibliotekets enkelhet och intuitiva design gör det tillgängligt för både nybörjare och erfarna utvecklare.