- Co jsou požadavky Pythonu?
- Proč používat požadavky Pythonu?
- Jak nainstalovat požadavky Pythonu?
- Vytváření a odesílání žádostí
- Předávání parametrů v URL
- Stavový kód
- Obsah odpovědi
- Vícedílné nahrávání souborů
- Soubory cookie a záhlaví
- Objekt relace
- Chyby a výjimky
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áší:- Udržujte naživu a sdílení připojení
- Mezinárodní domény a adresy URL
- Relace s perzistencí souborů cookie
- Ověření SSL ve stylu prohlížeče
- Automatické dekódování obsahu
- Základní / digest ověřování
- Elegantní klíč / hodnota cookies
- Automatická dekomprese
- Těla odpovědí Unicode
- Podpora proxy HTTPs
- Vícenásobné nahrávání souborů
- Streamování stahování
- Časové limity připojení
- Kusové žádosti
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ů
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í.