The Knihovna požadavků v Pythonu je jednou z nedílných součástí Pythonu pro odesílání požadavků HTTP na zadané URL. Ať už se jedná o REST API nebo Web Scraping, požadavky se musíte naučit, abyste mohli pokračovat s těmito technologiemi. Když někdo zadá požadavek na URI, vrátí odpověď. Požadavky Pythonu poskytují vestavěné funkce pro správu požadavku i odpovědi.
jak číst ze souboru csv v java
V tomto tutoriálu prozkoumáme Co je Knihovna požadavků Pythonu , Jak udělat požadavky GET prostřednictvím Python Requests, Response objektů a metod, Authentication pomocí Python Requests a tak dále.

Obsah
- Co je modul Python Requests?
- Jak vytvořit požadavek GET prostřednictvím požadavků Pythonu
- Metody požadavku HTTP
- Objekt odezvy
- Metody odezvy
- Autentizace pomocí Python Requests
- Ověření certifikátu SSL
- Objekty relace
- Závěr
Co je modul Python Requests?
- Requests je licencovaná HTTP knihovna Apache2, která umožňuje odesílat požadavky HTTP/1.1 pomocí Pythonu.
- Chcete-li si hrát s webem, Python Requests je nutností. Ať už jde o narážení na API, stahování celých facebookových stránek a mnoho dalších skvělých věcí, budete muset zadat požadavek na URL.
- Hlavní roli při vyřizování hrají požadavky REST API , a Seškrabování webu .
- Vyzkoušejte ukázkový skript Python pomocí požadavků a škrabání webu – Implementace škrábání webu v Pythonu s BeautifulSoup
Instalace požadavků
Instalace požadavků závisí na typu operačního systému na eis, základním příkazem kdekoli by bylo otevřít příkazový terminál a spustit,
pip install requests>
Základní metodou instalace požadavků na jakýkoli operační systém je uchopení základních souborů a ruční instalace požadavků a požadavky se aktivně vyvíjejí na GitHubu, kde je kód vždy k dispozici. Pro kód - navštivte zde . Veřejné úložiště můžete buď naklonovat:
git clone git://github.com/psf/requests.git>
Jakmile budete mít kopii zdrojového kódu, můžete jej vložit do svého vlastního balíčku Python nebo jej snadno nainstalovat do balíčků webu:
cd requestspip install .>
Více k pokladně – Jak nainstalovat požadavky v Pythonu – pro Windows, linux, mac
Podání žádosti
Modul požadavků Pythonu má několik vestavěných metod pro vytváření požadavků Http na zadané URI pomocí požadavků GET, POST, PUT, PATCH nebo HEAD. Požadavek Http je určen k načtení dat ze zadaného URI nebo k odeslání dat na server. Funguje jako protokol žádost-odpověď mezi klientem a serverem. Pojďme si ukázat, jak vytvořit požadavek GET na koncový bod. Metoda GET se používá k získání informací z daného serveru pomocí daného URI. Metoda GET odesílá zakódované informace o uživateli připojené k požadavku na stránku. Stránka a zakódované informace jsou odděleny znakem „?“. Například:
https://www.google.com/search?q=hello>
Jak vytvořit požadavek GET prostřednictvím požadavků Pythonu
Modul požadavků Pythonu poskytuje vestavěnou metodu nazvanou dostat() pro vytvoření požadavku GET na zadaný URI.
Syntax
requests.get(url, params={key: value}, args)> Příklad:
Zkusme například zadat požadavek na rozhraní API githubu.
Python3
import> requests> > # Making a GET request> r>=> requests.get(>' https://api.github.com/users/naveenkrnl '>)> > # check status code for response received> # success code - 200> print>(r)> > # print content of request> print>(r.content)> |
>
velikosti latexového písma
>
uložte tento soubor jako request.py a prostřednictvím spuštění terminálu,
python request.py>
Výstup -

Pro více, navštivte - Metoda GET – požadavky Pythonu
Metody požadavku HTTP
| Metoda | Popis |
|---|---|
| DOSTAT | Metoda GET se používá k získání informací z daného serveru pomocí daného URI. |
| POŠTA | Metoda požadavku POST požaduje, aby webový server akceptoval data v těle zprávy požadavku, s největší pravděpodobností pro jejich uložení |
| DÁT | Metoda PUT vyžaduje, aby byla uzavřená entita uložena pod dodaným identifikátorem URI. Pokud URI odkazuje na již existující zdroj, je upraven a pokud URI neodkazuje na existující zdroj, pak server může vytvořit zdroj s tímto URI. |
| VYMAZAT | Metoda DELETE odstraní zadaný prostředek |
| HLAVA | Metoda HEAD požaduje odpověď shodnou s požadavkem GET, ale bez těla odpovědi. |
| NÁPLAST | Používá se pro úpravy schopností. Požadavek PATCH musí obsahovat pouze změny prostředku, nikoli celý prostředek |
Objekt odezvy
Když někdo zadá požadavek na URI, vrátí odpověď. Tento objekt Response z hlediska pythonu vrací request.method(), přičemž metoda je – get, post, put atd. Response je výkonný objekt se spoustou funkcí a atributů, které pomáhají při normalizaci dat nebo vytváření ideálních částí kódu. Například, response.status_code vrátí stavový kód ze samotných hlaviček a lze zkontrolovat, zda byl požadavek zpracován úspěšně nebo ne. Objekt odezvy lze použít k naznačení mnoha funkcí, metod a funkcí.
Příklad:
Python3
# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://api.github.com/ '>)> # print request object> print>(response.url)> # print status code> print>(response.status_code)> |
>
>
Uložte tento soubor jako request.py a spusťte jej pomocí níže uvedeného příkazu
Python request.py>

Stavový kód 200 označuje, že požadavek byl úspěšně proveden.
Metody odezvy
| Metoda | Popis |
|---|---|
| odpověď.hlavičky | response.headers vrací slovník hlaviček odpovědí. |
| odezva.kódování | response.encoding vrací kódování použité k dekódování response.content. |
| odezva.uplynula | response.elapsed vrací objekt timedelta s časem, který uplynul od odeslání požadavku do příchodu odpovědi. |
| response.close() | response.close() ukončí připojení k serveru. |
| odpověď.obsah | response.content vrací obsah odpovědi v bajtech. |
| response.cookies | response.cookies vrací objekt CookieJar se soubory cookie odeslanými zpět ze serveru. |
| odezva.historie | response.history vrací seznam objektů odpovědí obsahujících historii požadavku (url). |
| response.is_permanent_redirect | response.is_permanent_redirect vrátí True, pokud je odpovědí trvalá přesměrovaná adresa URL, jinak False. |
| response.is_redirect | response.is_redirect vrátí True, pokud byla odpověď přesměrována, jinak False. |
| response.iter_content() | response.iter_content() iteruje přes response.content. |
| response.json() | response.json() vrací objekt JSON výsledku (pokud byl výsledek zapsán ve formátu JSON, pokud ne, vyvolá chybu). |
| adresa URL odpovědi | response.url vrátí adresu URL odpovědi. |
| odpověď.text | response.text vrací obsah odpovědi v unicode. |
| response.status_code | response.status_code vrací číslo, které označuje stav (200 je OK, 404 je Nenalezeno). |
| odpověď.žádost | response.request vrátí objekt požadavku, který požadoval tuto odpověď. |
| odpověď.důvod | response.reason vrací text odpovídající stavovému kódu. |
| response.raise_for_status() | response.raise_for_status() vrací objekt HTTPError, pokud během procesu došlo k chybě. |
| odpověď.ok | response.ok vrátí True, pokud je stavový_kód menší než 200, jinak False. |
| odpověď.odkazy | response.links vrací odkazy v záhlaví. |
Autentizace pomocí Python Requests
Autentizace se týká udělení oprávnění uživateli pro přístup k určitému zdroji. Vzhledem k tomu, že každému nemůže být povolen přístup k datům z každé adresy URL, vyžaduje se primárně ověření. K dosažení této autentizace se obvykle poskytují ověřovací data prostřednictvím hlavičky Authorization nebo vlastní hlavičky definované serverem.
Příklad –
Python3
# import requests module> import> requests> from> requests.auth>import> HTTPBasicAuth> # Making a get request> response>=> requests.get(>' https://api.github.com / user, '>,> >auth>=> HTTPBasicAuth(>'user'>,>'pass'>))> # print request object> print>(response)> |
>
>
Nahraďte uživatele a předejte svým uživatelským jménem a heslem. Ověří požadavek a vrátí odpověď 200, jinak vrátí chybu 403.

Pro další návštěvu - Autentizace pomocí požadavků Pythonu
přidat řetězec
Ověření certifikátu SSL
Requests ověřuje certifikáty SSL pro požadavky HTTPS, stejně jako webový prohlížeč. Certifikáty SSL jsou malé datové soubory, které digitálně vážou kryptografický klíč k informacím o organizaci. Webové stránky s certifikátem SSL se často nazývají zabezpečené webové stránky. Ve výchozím nastavení je ověření SSL povoleno a požadavky vygenerují chybu SSLE, pokud certifikát nelze ověřit.
Zakázat ověřování certifikátu SSL
Zkusme přistupovat na web s neplatným certifikátem SSL pomocí požadavků Pythonu
Python3
# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://expired.badssl.com/ '>)> # print request object> print>(response)> |
>
>
Výstup :-

Tento web nemá nastavení SSL, takže vyvolává tuto chybu. lze také předat odkaz na certifikát pro ověření pouze prostřednictvím požadavků pythonu.
Python3
java nahradit vše
# import requests module> import> requests> # Making a get request> response>=> requests.get(>' https://github.com '>, verify>=>'/path/to/certfile'>)> # print request object> print>(response)> |
>
>
To by fungovalo v případě, že zadaná cesta je správná pro certifikát SSL pro github.com.
Pro další návštěvu - Ověření certifikátu SSL – požadavky Pythonu
jak získat hru pigeon na android
Objekty relace
Objekt relace umožňuje zachovat určité parametry napříč požadavky. Také uchovává soubory cookie ve všech požadavcích provedených z instance Session a bude používat sdružování připojení urllib3. Pokud se tedy na stejného hostitele odešle několik požadavků, bude základní připojení TCP znovu použito, což může vést k výraznému zvýšení výkonu. Objekt relace všechny metody jako požadavky.
Použití objektů relace
Ukažme si použití objektů relace nastavením souboru cookie na adresu URL a poté opětovným požadavkem na kontrolu, zda je soubor cookie nastaven.
Python3
# import requests module> import> requests> > # create a session object> s>=> requests.Session()> > # make a get request> s.get(>' https://httpbin.org/cookies/set/sessioncookie/123456789 '>)> > # again make a get request> r>=> s.get(>' https://httpbin.org/cookies '>)> > # check if cookie is still set> print>(r.text)> |
>
>
Výstup:

Pro více, navštivte - Objekty relace – požadavky Pythonu
Závěr
Python Request Library je výkonný nástroj pro vytváření HTTP požadavků a interakci s webovými API. V tomto tutoriálu jsme probrali základy odesílání požadavků GET a POST, zpracování parametrů a hlaviček a správu dat odpovědí. Knihovna je díky jednoduchosti a intuitivnímu designu přístupná začátečníkům i zkušeným vývojářům.