Żądania Pythona: wszystko, co musisz wiedzieć



Ten blog przeprowadzi Cię szczegółowo przez moduł żądań Pythona. Poznasz żądania GET i POST, obiekty sesji, pliki cookie i nagłówki.

Python żąda prawie 400 000 pobrań każdego dnia. Ta liczba jest wystarczająco oczywista, aby zrozumieć popularność tego . W ostatnich latach język programowania Python stał się najbardziej pożądanym językiem programowania dla wielu programistów. Pojęcia i biblioteki, takie jak żądania, są jednym z wielu powodów, dla których programiści przechodzą z innych języków programowania na Python. Na tym blogu przejdziemy przez następujące tematy:

Co to są żądania Pythona?

Żądania Pythona zostały napisane przez Kennetha Reitza i licencjonowane w ramach Apache 2.0. Jest to przyjazna dla człowieka biblioteka HTTP, o czym wspomniano na oficjalnej stronie dokumentacji. Jest łatwy w użyciu i zasadniczo służy do wykonywania wszelkiego rodzaju żądań HTTP. Poniżej znajduje się kilka zaawansowanych funkcji, które zawiera żądania:
  1. Utrzymuj aktywność i pule połączeń
  2. Międzynarodowe domeny i adresy URL
  3. Sesje z trwałością plików cookie
  4. Weryfikacja SSL w stylu przeglądarki
  5. Automatyczne dekodowanie treści
  6. Uwierzytelnianie podstawowe / skrócone
  7. Eleganckie pliki cookie typu klucz / wartość
  8. Automatyczna dekompresja
  9. Treści odpowiedzi Unicode
  10. Obsługa proxy HTTPs
  11. Przesyłanie plików w wielu częściach
  12. Pobieranie strumieniowe
  13. Limity czasu połączenia
  14. Żądania podzielone na fragmenty
To wszystkie zaawansowane funkcje biblioteki żądań Pythona, spróbujmy zrozumieć, dlaczego używamy żądań Pythona w pierwszej kolejności.

Dlaczego warto korzystać z żądań Pythona?

Jeśli chodzi o to, dlaczego używamy żądań Pythona? powód jest całkiem prosty. Korzystając z żądań Pythona, nie musisz ręcznie dodawać zapytań do swoich adresów URL i danych postów z kodowaniem formularza. Ułatwia nam to pracę podczas wykonywania wszelkiego rodzaju żądań http.Teraz, gdy już znamy żądania w Pythonie i dlaczego używamy ich w Pythonie, spróbujmy zrozumieć, w jaki sposób zamierzamy zainstalować żądania w naszym projekcie lub systemie.

Jak zainstalować żądania Pythona?

Część instalacyjna jest również bardzo łatwa. Jeśli masz zainstalowaną konfigurację pipenv w swoim systemie, możesz po prostu uruchomić następujące polecenie w terminalu.

Żądania instalacji $ pip

dziesiętny do binarnego kodu Pythona
Spowoduje to zainstalowanie biblioteki żądań w twoim systemie. Istnieje jeszcze jedno podejście do żądań instalacji. Jeśli używasz pycharm, możesz dodać żądania do interpretera projektu w ustawieniach. Służy temu samemu celowi co terminal w przypadku instalacji biblioteki na naszym projekcie.Teraz, gdy zakończyliśmy instalację, spróbujmy zrozumieć, w jaki sposób będziemy wykonywać żądania pobierania i wysyłania w Pythonie.

Jak tworzyć i wysyłać żądania?

Żądanie Get służy w zasadzie do żądania danych z serwera. Poniżej przedstawiono składnię żądania pobrania.
import request res = request.get ('url') #res jest tutaj obiektem odpowiedzi.
Żądanie postu służy do przesłania danych do przetworzenia na serwer. Poniżej znajduje się składnia żądania wiadomości.
import żądań payload = {'key1': 'value1'} res = request.post ('url', data = payload)
Teraz, gdy wiemy, jak możemy wysyłać i wysyłać żądania, przyjrzyjmy się, jak możemy przekazywać parametry do adresu URL za pomocą żądania get.

Przekazywanie parametrów w adresie URL

Przekazywanie parametrów w adresie URL jest tak proste, jak wysłanie żądania pobrania. Poniżej znajduje się przykład przekazywania parametrów do adresu URL.
import żądań payload = {'klucz1': 'wartość1', 'klucz2': 'wartość2'} res = requests.get ('url', params = payload) print (res.url) # to wydrukuje adres URL z parametrami przeszedł przez żądanie pobierania.

Kod statusu

Możemy również sprawdzić kod statusu, poniżej znajduje się kod do sprawdzenia kodu statusu:





import żądań res = request.get ('url') print (res.status_code ())
Jeśli kod zwraca 200, oznacza to, że nie ma błędu i żądanie jest w porządku. Jeśli wykonamy złe żądanie, kod zwróci kod, taki jak 404 lub 505, co spowoduje błąd http.

Treść odpowiedzi

Możemy również odczytać treść odpowiedzi serwera. Biblioteka automatycznie zdekoduje zawartość z serwera.
import żądań res = request.get ('url') print (res.content)

Żądania mają również wbudowany dekoder json.

import request res = request.get ('url') print (res.json ()) # otrzyma odpowiedź w formacie json

Przesyłanie plików wieloczęściowych

Przesyłanie plików wieloczęściowych za pomocą żądań jest bardzo łatwe.
import request files = {'file': open ('filename', 'rb')} res = request.post ('url', files = files) print (res.text)
W przypadku wysyłania wielu plików określimy wiele plików w parametrze files.

Pliki cookie i nagłówki

Możemy przeglądać nagłówki odpowiedzi i pliki cookie serwera za pomocą obiektu odpowiedzi. Poniżej znajduje się kod umożliwiający wyświetlenie nagłówków serwera.
import żądań res = request.get ('url') print (res.headers)
Możemy również przekazywać niestandardowe nagłówki do adresu URL. Spójrzmy na kod.
import żądań nagłówków = {'klucz1': 'wartość1'} res = request.get ('url', headers = headers) print (res.headers)
Żądania nie zmieniają swojego zachowania na podstawie niestandardowych nagłówków. Są po prostu przekazywane do ostatecznego wniosku. cookies można również wyświetlić za pomocą obiektu odpowiedzi.
żądania importu # do przekazywania własnych plików cookie możemy użyć parametru plików cookie cookies = dict (cookies = 'working') res = request.get ('url', cookies = cookies) print (res.text)

Pliki cookie są zwracane w RequestCookieJar, który działa jak słownik, ale oferuje również bardziej kompletny interfejs, odpowiedni do użytku w wielu domenach lub ścieżkach.



Obiekt sesji

Obiekt sesji umożliwia utrwalanie pewnych parametrów w żądaniach.
  • Utrzymuje pliki cookie we wszystkich żądaniach wysyłanych z instancji sesji
  • Użyj puli połączeń urllib3
  • Znaczący wzrost wydajności
  • Obiekt sesji ma wszystkie metody głównego interfejsu API żądań
Poniżej znajduje się kod umożliwiający utrwalanie niektórych plików cookie w żądaniach.
s = request.session () s.get ('url') res = s.get ('url') print (res.text)

Błędy i wyjątki

Poniżej znajdują się błędy i wyjątki, które są zgłaszane w żądaniu Pythona.
  • W przypadku problemu z siecią żądania spowodują zgłoszenie wyjątku ConnectionError.
  • Response.raise_for_status () zgłosi błąd HTTP, gdy wystąpi niepomyślny kod stanu.
  • Jeśli wystąpi limit czasu, zgłosi wyjątek Timeout
  • Wyjątek TooManyRedirects jest zgłaszany, jeśli żądanie przekracza skonfigurowaną liczbę maksymalnej liczby przekierowań.
Na tym blogu omówiliśmy moduł żądań Pythona, w którym mamy różne zaawansowane funkcje. Omówiliśmy instalację i wykonanie żądania get and post z zawartością odpowiedzi i innymi koncepcjami w bibliotece żądań w Pythonie. Moduł żądań Pythona jest jedną z wielu niezwykłych funkcji programu język programowania Python . Możesz rozpocząć naukę, rejestrując się i odkryj możliwości języka programowania Python. Masz jakieś pytania? wspomnij o nich w komentarzach, skontaktujemy się z Tobą.