logo

Výukový program požadavků Pythonu

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.



python-requests-module

Obsah

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 -

python-requests-get-method

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>

response-python-requests

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.

autentizovat-python-requests

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 :-

ssl-certificate-verification-python-requests

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:

session-objects-python-requests

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.