Požadavky Pythonu: Vše, co potřebujete vědět



Tento blog vás provede podrobně modulem požadavků pythonu. Seznámíte se s požadavky GET a POST, objekty relací, soubory cookie a hlavičkami.

Python požaduje každý den téměř 400 000 stažení. Toto číslo je dostatečně zřejmé, aby bylo možné pochopit jeho popularitu . V posledních letech se programovací jazyk python stal nejžádanějším programovacím jazykem pro mnoho vývojářů. Koncepty a knihovny jako požadavky jsou jedním z mnoha důvodů, proč vývojáři přecházejí z jiných programovacích jazyků na python. V tomto blogu projdeme následující témata:

Co jsou požadavky Pythonu?

Požadavky Pythonu byly napsány Kennethem Reitzem a licencovány pod apache 2.0. Jedná se o lidskou knihovnu HTTP, jak je uvedeno na stránce oficiální dokumentace. Je snadno použitelný a v zásadě se používá k vytváření nejrůznějších požadavků HTTP. Následuje několik pokročilých funkcí, které požadavky přináší:
  1. Udržujte naživu a sdílení připojení
  2. Mezinárodní domény a adresy URL
  3. Relace s perzistencí souborů cookie
  4. Ověření SSL ve stylu prohlížeče
  5. Automatické dekódování obsahu
  6. Základní / digest ověřování
  7. Elegantní klíč / hodnota cookies
  8. Automatická dekomprese
  9. Těla odpovědí Unicode
  10. Podpora proxy HTTPs
  11. Vícenásobné nahrávání souborů
  12. Streamování stahování
  13. Časové limity připojení
  14. Kusové žádosti
To jsou všechny pokročilé funkce knihovny požadavků pythonu, pojďme se pokusit pochopit, proč vůbec používáme požadavky pythonu.

Proč používat požadavky Pythonu?

Když přijde na to, proč používáme požadavky pythonu? důvod je docela jednoduchý. Při používání požadavků pythonu nemusíte ručně přidávat dotazy do svých adres URL a formovat data příspěvků. Usnadňuje nám práci při vytváření žádostí o HTTP jakéhokoli druhu.Nyní, když jsme obeznámeni s požadavky pythonu a proč je používáme v pythonu, pojďme se pokusit pochopit, jak budeme instalovat požadavky na náš projekt nebo systém.

Jak nainstalovat požadavky Pythonu?

Instalační část je také velmi snadná. Pokud máte v systému nainstalované nastavení pipenv, můžete v terminálu jednoduše spustit následující příkaz.

$ pip požadavky na instalaci

Tím se nainstaluje knihovna požadavků do vašeho systému. K instalaci požadavků existuje ještě jeden přístup. Pokud používáte pycharm, můžete v nastavení přidat požadavky na tlumočníka projektu. Slouží ke stejnému účelu jako terminál v případě instalace knihovny do našeho projektu.Nyní, když jsme s instalací skončili, se pokusme pochopit, jak budeme dělat požadavky na odesílání a zveřejňování v pythonu.

Jak vytvořit a odeslat žádost?

Získat požadavek se v zásadě používá k vyžádání dat ze serveru. Následuje syntaxe pro vytvoření požadavku na získání.
import request res = requests.get ('url') #res je zde objekt odpovědi.
Žádost o příspěvek se používá k odeslání údajů, které mají být zpracovány, na server. Následuje syntaxe pro vytvoření požadavku na příspěvek.
import požadavků payload = {'key1': 'value1'} res = requests.post ('url', data = payload)
Nyní, když víme, jak můžeme vytvářet a odesílat žádosti, pojďme se podívat na to, jak můžeme předat parametry na adresu URL pomocí požadavku na získání.

Předávání parametrů do adresy URL

Předávání parametrů do adresy URL je stejně jednoduché jako zadání požadavku na získání. Následuje příklad předání parametrů na adresu URL.
import request payload = {'key1': 'value1', 'key2': 'value2'} res = requests.get ('url', params = payload) print (res.url) #toto vytiskne adresu URL s parametry prošel požadavkem na získání.

Stavový kód

Můžeme zkontrolovat také stavový kód, následuje kód ke kontrole stavového kódu:





co znamená přechodné v Javě
import request res = requests.get ('url') print (res.status_code ())
Pokud kód vrátí 200, znamená to, že nedošlo k žádné chybě a požadavek je v pořádku. Pokud zadáme špatný požadavek, kód vrátí kód jako 404 nebo 505, což způsobí chybu http.

Obsah odpovědi

Můžeme také přečíst obsah odpovědi serveru. Knihovna automaticky dekóduje obsah ze serveru.
import požadavků res = requests.get ('url') print (res.content)

Žádost má také vestavěný dekodér json.

požadavky na import res = requests.get ('url') print (res.json ()) # toto dostane odpověď ve formátu json

Nahrávání vícedílných souborů

Nahrávání vícedílných souborů pomocí požadavků je velmi snadné.
import request files = {'file': open ('název souboru', 'rb')} res = requests.post ('url', soubory = soubory) print (res.text)
Pro odesílání více souborů zadáme více souborů v parametru soubory.

Soubory cookie a záhlaví

Pomocí objektu odpovědi můžeme zobrazit záhlaví odpovědí serveru a soubory cookie. Následuje kód pro zobrazení záhlaví serveru.
import požadavků res = requests.get ('url') print (res.headers)
Můžeme také předat vlastní záhlaví na adresu URL. Pojďme se podívat na kód.
hlavičky požadavků na import = {'key1': 'value1'} res = requests.get ('url', headers = headers) print (res.headers)
Požadavky nemění své chování na základě vlastních záhlaví. Jednoduše jsou předány konečnému požadavku. cookies lze také zobrazit pomocí objektu odpovědi.
import požadavků # k předání vlastních cookies můžeme použít parametr cookies cookies = dict (cookies = 'working') res = requests.get ('url', cookies = cookies) print (res.text)

Cookies jsou vráceny v RequestCookieJar, který funguje jako slovník, ale také nabízí úplnější rozhraní, vhodné pro použití ve více doménách nebo cestách.



Objekt relace

Objekt relace umožňuje přetrvávat určité parametry napříč požadavky.
  • Zachová soubory cookie ve všech požadavcích z instance relace
  • Použijte sdružování připojení urllib3
  • Významný nárůst výkonu
  • Objekt relace má všechny metody rozhraní API hlavních požadavků
Následuje kód pro přetrvávání některých souborů cookie napříč požadavky.
s = requests.session () s.get ('url') res = s.get ('url') print (res.text)

Chyby a výjimky

Následují chyby a výjimky, které jsou vyvolány v požadavku pythonu.
  • V případě problému se sítí budou požadavky vyvolávat výjimku ConnectionError.
  • Response.raise_for_status () vyvolá chybu HTTP, pokud dojde k neúspěšnému stavovému kódu.
  • Pokud je časový limit, vyvolá výjimku časového limitu
  • Výjimka TooManyRedirects se vyvolá, pokud požadavek překročí nakonfigurovaný počet maximálního počtu přesměrování.
V tomto blogu jsme diskutovali o modulu požadavků pythonu, ve kterém máme různé pokročilé funkce. Diskutovali jsme o instalaci a vytvoření požadavku na získání a odeslání s obsahem odpovědi a dalšími koncepty v knihovně požadavků v pythonu. Modul požadavků Pythonu je jednou z mnoha mimořádných funkcí mimo krabici programovací jazyk python . Své učení můžete nastartovat přihlášením a objevte možnosti programovacího jazyka pythonu. Máte nějaké dotazy? uveďte je v sekci komentáře, ozveme se vám.