A Python kérései: Minden, amit tudnia kell



Ez a blog részletesen végigvezeti Önt a python kérések modulon. Megismeri a GET és POST kéréseket, a munkamenet-objektumokat, a sütiket és a fejléceket.

A Python mindennap csaknem 400 000 letöltést kér. Ez a szám elég nyilvánvaló ahhoz, hogy megértsük ennek népszerűségét . Az elmúlt években a Python programozási nyelv lett a legkívánatosabb programozási nyelv sok fejlesztő számára. A fogalmak és a könyvtárak, mint például a kérések, egyike annak a sok okból, hogy a fejlesztők áttérnek más programozási nyelvekről a pythonra. Ebben a blogban a következő témákat vesszük át:

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:
  1. Tartsa életben és kapcsolja össze
  2. Nemzetközi domainek és URL-ek
  3. Munkamenetek süti kitartással
  4. Böngésző stílusú SSL ellenőrzés
  5. Automatikus tartalom dekódolás
  6. Alap / összesített hitelesítés
  7. Elegáns kulcs / érték sütik
  8. Automatikus dekompresszió
  9. Unicode választestek
  10. HTTP-proxy támogatás
  11. Többrészes fájlok feltöltése
  12. Letöltések streaming
  13. Csatlakozási időkorlátok
  14. Darabolt kérések
Ezek a python-kérés könyvtár összes speciális szolgáltatása. Megpróbáljuk megérteni, miért használjuk eleve a python-kérelmeket.

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ában
Ez 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
Az alábbiakban olvasható az a kód, amely megőrzi a sütik összes kérésé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.
Ebben a blogban megvitattuk a python kérések modult, amelyben különféle speciális funkciókkal rendelkezünk. Megbeszéltük a telepítést és a get and post kérés elkészítését a válasz tartalmával és más fogalmakkal a python könyvtárában. A Python kérések modul egyike a sok rendkívüli out of box tulajdonságnak python programozási nyelv . Beiratkozással elindíthatja a tanulást és fedezze fel a python programozási nyelv lehetőségeit. Van kérdése? említsd meg őket a megjegyzés rovatban, mi kapcsolatba lépünk veled.