- Mi a Python kérés?
- Miért kell használni a Python kéréseket?
- Hogyan telepítsük a Python kérelmeket?
- Get & Post kérések készítése
- Paraméterek átadása URL-ben
- Állapotkód
- Válasz tartalma
- Többrészes fájlfeltöltés
- Cookie-k és fejlécek
- Munkamenet objektum
- Hibák és kivételek
Mi a Python kérés?
A Python kéréseket Kenneth Reitz írta, és az apache 2.0 alatt licencelték őket. Ez egy emberbarát HTTP könyvtár, amint az a hivatalos dokumentációs oldalon is szerepel. Könnyen használható, és alapvetően mindenféle HTTP kérés készítésére szolgál. Az alábbiakban bemutatunk néhány speciális funkciót, amelyhez a kérések tartoznak:- Tartsa életben és kapcsolja össze
- Nemzetközi domainek és URL-ek
- Munkamenetek süti kitartással
- Böngésző stílusú SSL ellenőrzés
- Automatikus tartalom dekódolás
- Alap / összesített hitelesítés
- Elegáns kulcs / érték sütik
- Automatikus dekompresszió
- Unicode választestek
- HTTP-proxy támogatás
- Többrészes fájlok feltöltése
- Letöltések streaming
- Csatlakozási időkorlátok
- Darabolt kérések
Miért kell használni a Python kéréseket?
Amikor arról van szó, miért használunk python kéréseket? az ok elég egyszerű. A python-kérelmek használata közben nem kell manuálisan hozzáadnia a lekérdezéseket az URL-hez, és formában kódolni a postai adatokat. Megkönnyíti a dolgunkat, ha bármilyen típusú http-kérést készítünk.Most, hogy ismerjük a python kéréseket és miért használjuk őket a pythonban, megpróbálhatjuk megérteni, hogyan fogjuk telepíteni a kéréseket a projektünkre vagy a rendszerünkre.Hogyan telepítsük a Python kérelmeket?
A telepítési rész is nagyon egyszerű. Ha telepítve van a pipenv telepítője a rendszerére, egyszerűen futtathatja a következő parancsot a terminálban.$ pip telepítési kérelmek
hogyan lehet létrehozni egy paramétert a táblábanEz telepíti a kérelem könyvtárat a rendszerére. Van még egy megközelítés a kérelmek telepítéséhez. Ha pycharmot használ, a beállításokban hozzáadhat kéréseket a projekt tolmácshoz. Ugyanazt a célt szolgálja, mint a terminál a könyvtár projektbe történő telepítése esetén.Most, hogy végig vagyunk a telepítésen, próbáljuk megérteni, hogyan fogunk kéréseket és postákat küldeni a pythonban.
Hogyan tehetünk fel kéréseket és küldhetünk el kéréseket?
A lekérési kérelmet alapvetően arra használják, hogy adatokat kérjen a szervertől. A következő a szintaxis a lekérési kérelem benyújtásához.importkérések res = request.get ('url') #res a válaszobjektum itt.A feladási kérelem arra szolgál, hogy a feldolgozandó adatokat elküldje a szervernek. A következő a szintaxis a hozzászólási kérelem benyújtásához.
importkérések hasznos terhelése = {'kulcs1': 'érték1'} res = kérelmek.post ('url', adatok = hasznos terhelés)Most, hogy tudjuk, hogyan tudunk lekéréseket és posztokat küldeni, vessen egy pillantást arra, hogy miként adhatunk át paramétereket az URL-hez a get kérés segítségével.
Paraméterek átadása URL-ben
A paraméterek átadása egy URL-ben ugyanolyan egyszerű, mint egy lekérési kérelem megadása. Az alábbiakban bemutatunk egy példát a paraméterek URL-re történő továbbítására.import kérések payload = {'key1': 'value1', 'key2': 'value2'} res = request.get ('url', params = payload) print (res.url) #ez kinyomtatja az URL-t a paraméterekkel átment a kérésen.
Állapotkód
Ellenőrizhetjük az állapotkódot is, a következő az állapotkód ellenőrzéséhez:
importkérések res = request.get ('url') print (res.status_code ())Ha a kód 200-at ad vissza, az azt jelenti, hogy nincs hiba, és a kérés minden rendben van. Ha rosszul kérjük, a kód visszaadja a 404-es vagy az 505-ös kódot, ami http hibát fog felvetni.
Válasz tartalma
Elolvashatjuk a szerver válaszának tartalmát is. A könyvtár automatikusan dekódolja a tartalmat a szerverről.importkérések res = request.get ('url') print (res.content)
A Requests rendelkezik beépített json dekóderrel is.
importkérések res = request.get ('url') print (res.json ()) #ezek a választ json formátumban kapják meg
Többrészes fájlfeltöltés
Nagyon könnyű többrészes fájlokat feltölteni kérések segítségével.import kérések fájlok = {'fájl': nyissa meg ('fájlnév', 'rb')} res = kérelmek.post ('url', fájlok = fájlok) nyomtatás (res.text)Több fájl küldéséhez több fájlt fogunk megadni a fájl paraméterben.
Cookie-k és fejlécek
Megtekinthetjük a kiszolgáló válaszfejlécét és cookie-jait a válaszobjektum segítségével. A következő a szerver fejlécének megtekintésére szolgáló kód.importkérések res = request.get ('url') print (res.headers)Egyedi fejléceket is átadhatunk az URL-nek. Vessünk egy pillantást a kódra.
import kérések fejlécei = {'kulcs1': 'érték1'} res = kérelmek.get ('url', fejlécek = fejlécek) nyomtatás (res.fejek)A kérések nem változtatják meg a viselkedését az egyéni fejlécek alapján. Egyszerűen továbbadják a végső kérelemnek. sütik a válaszobjektum segítségével is megtekinthető.
import kérelmek # a saját sütik átadásához használhatjuk a cookie-k paraméterét: cookie = dict (cookie = 'működő') res = request.get ('url', cookie = süti) print (res.text)
A sütik egy RequestCookieJar-ban kerülnek visszaadásra, amely szótárként működik, de teljesebb felületet is kínál, amely több domain vagy útvonalon keresztül használható.
Munkamenet objektum
A session objektum lehetővé teszi bizonyos paraméterek kitartását a kérések során.- A sütik megmaradnak a munkamenet-példányból érkező összes kérelemben
- Használja az urllib3 kapcsolatkészletet
- Jelentős teljesítmény növekszik
- A munkamenetobjektum tartalmazza a fő kérelmek API összes metódusát
s = request.session () s.get ('url') res = s.get ('url') print (res.text)
Hibák és kivételek
Az alábbiakban bemutatjuk azokat a hibákat és kivételeket, amelyek egy python-kérelemben merülnek fel.- Hálózati probléma esetén a kérések ConnectionError kivételt vetnek fel.
- A Response.raise_for_status () HTTP hibát vet fel, ha sikertelen állapotkód van.
- Ha van időkorlát, akkor az időtúllépési kivételt fog felvetni
- A TooManyRedirects kivétel felmerül, ha a kérelem meghaladja az átirányítások maximális számának konfigurált számát.