- Vad är Python-förfrågningar?
- Varför använda Python-förfrågningar?
- Hur installerar jag Python-förfrågningar?
- Gör Get & Post-begäranden
- Skicka parametrar i URL
- Statuskod
- Svar innehåll
- Flerdelad filöverföring
- Kakor och rubriker
- Sessionsobjekt
- Fel och undantag
Vad är Python-förfrågningar?
Python-förfrågningar skrevs av Kenneth Reitz och licensierades under apache 2.0. Det är ett mänskligt HTTP-bibliotek som det nämns på den officiella dokumentationssidan. Det är lätt att använda och används i princip för att göra alla typer av HTTP-förfrågningar. Följande är några avancerade funktioner som förfrågningar kommer med:
- Håll dig vid liv och anslutningspooling
- Internationella domäner och webbadresser
- Sessioner med beständighet av kakor
- SSL-verifiering i webbläsarstil
- Automatisk avkodning av innehåll
- Grundläggande / smältautentisering
- Eleganta nyckel- / värdekakor
- Automatisk dekompression
- Unicode-responsorgan
- HTTP-proxy-stöd
- Uppladdningar av flera delar
- Streaming Nedladdningar
- Anslutningstidsavbrott
- Stora förfrågningar
Varför använda Python-förfrågningar?
När det gäller varför använder vi pythonförfrågningar? anledningen är ganska enkel. När du använder pythonförfrågningar behöver du inte lägga till frågorna manuellt i dina webbadresser och formulärkoda postdata. Det gör vårt jobb enklare när vi gör http-förfrågningar av något slag.Nu när vi är bekanta med pythonförfrågningar och varför vi använder dem i python, kan vi försöka förstå hur vi ska installera förfrågningar i vårt projekt eller system.Hur installerar jag Python-förfrågningar?
Installationsdelen är också mycket enkel. Om du har installerat pipenv-installationen på ditt system kan du helt enkelt köra följande kommando i terminalen.$ pip installationsförfrågningar
Detta installerar förfrågningsbiblioteket på ditt system. Det finns ytterligare ett sätt att installera förfrågningar. Om du använder pycharm kan du lägga till förfrågningar på projekttolken i inställningarna. Det tjänar samma syfte som terminalen om biblioteket installeras på vårt projekt.Nu när vi är klara med installationen kan vi försöka förstå hur vi kommer att få och skicka förfrågningar i python.Hur gör jag få & posta förfrågningar?
Get-begäran används i princip för att begära data från servern. Följande är syntaxen för att göra en get-begäran.importförfrågningar res = requests.get ('url') #res är svarobjektet här.Inläggsförfrågan används för att skicka de data som ska behandlas till servern. Följande är syntaxen för att göra en postförfrågan.
importera begäran nyttolast = {'key1': 'värde1'} res = begäranden.post ('url', data = nyttolast)Nu när vi vet hur vi kan göra få och skicka förfrågningar, kan vi ta en titt på hur vi kan skicka parametrar till webbadressen med hjälp av get-begäran.
Skicka parametrar i en webbadress
Att skicka parametrar i en webbadress är lika enkelt som att göra en get-begäran. Följande är ett exempel för att skicka parametrar till url.importera begäran nyttolast = {'key1': 'värde1', 'key2': 'värde2'} res = begäranden.get ('url', params = nyttolast) skriv ut (res.url) # detta kommer att skriva ut webbadressen med parametrarna gått igenom get-begäran.
Statuskod
Vi kan också kontrollera statuskoden, följande är koden för att kontrollera statuskoden:
dynamisk minnestilldelning i c ++
importförfrågningar res = requests.get ('url') skriva ut (res.status_code ())Om koden returnerar 200 betyder det att det inte finns något fel och att begäran går bra. Om vi gör en dålig begäran kommer koden att returnera kod som 404 eller 505 vilket ger upphov till ett http-fel.
Svar innehåll
Vi kan också läsa innehållet i serverns svar. Biblioteket avkodar automatiskt innehållet från servern.importförfrågningar res = requests.get ('url') skriva ut (res.innehåll)
Förfrågningar har också en inbyggd json-avkodare.
slå samman sortera c ++ - matrisen
importförfrågningar res = requests.get ('url') print (res.json ()) # detta får svaret i json-format
Flerdelad filöverföring
Det är väldigt enkelt att ladda upp filer i flera delar med hjälp av förfrågningar.importera begäran filer = {'fil': öppna ('filnamn', 'rb')} res = begäranden.post ('url', filer = filer) skriv ut (res.text)För att skicka flera filer kommer vi att specificera flera filer i filparametern.
Kakor och rubriker
Vi kan se serverns svarsrubriker och kakor med hjälp av svarsobjektet. Följande är koden för att se serverns rubriker.importförfrågningar res = requests.get ('url') skriv ut (res.headers)Vi kan också skicka anpassade rubriker till webbadressen. Låt oss ta en titt på koden.
importera förfrågningsrubriker = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)Förfrågningar ändrar inte dess beteende baserat på anpassade rubriker. De skickas helt enkelt till den slutliga begäran. småkakor kan också ses med hjälp av svarsobjektet.
importförfrågningar # för att skicka våra egna cookies kan vi använda cookies-parametern cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)
Cookies returneras i en RequestCookieJar, som fungerar som en ordlista men också erbjuder ett mer komplett gränssnitt, lämpligt för användning över flera domäner eller sökvägar.
Sessionsobjekt
Sessionsobjektet låter dig bestå vissa parametrar över förfrågningarna.- Består cookies i alla förfrågningar från sessionens instans
- Använd urllib3-anslutningspooling
- Betydande prestanda steg
- Ett sessionobjekt har alla metoder för API för huvudförfrågningar
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)
Fel och undantag
Följande är de fel och undantag som tas upp i en pythonförfrågan.- I händelse av nätverksproblem kommer förfrågningar att leda till ett ConnectionError-undantag.
- Response.raise_for_status () ger upphov till ett HTTP-fel när det saknas statuskod.
- Om det finns en timeout kommer det att leda till ett timeout-undantag
- TooManyRedirects-undantaget tas upp om begäran överstiger det konfigurerade antalet maximala antalet omdirigeringar.