MC, 2025
Ilustracja do artykułu: Py Requests – Jak skutecznie wysyłać zapytania HTTP w Pythonie

Py Requests – Jak skutecznie wysyłać zapytania HTTP w Pythonie

Jeśli jesteś programistą, który spędza czas na budowaniu aplikacji internetowych, to na pewno spotkałeś się z potrzebą komunikacji z różnymi usługami internetowymi. W tym celu Python oferuje bardzo wygodną bibliotekę – Py Requests. Dzięki niej, możesz łatwo wysyłać zapytania HTTP i obsługiwać odpowiedzi, co sprawia, że integracja z innymi serwisami jest szybka i prosta. W tym artykule pokażę Ci, jak korzystać z biblioteki Py Requests, przedstawię jej możliwości oraz zaprezentuję praktyczne przykłady.

Czym jest Py Requests?

Py Requests to jedna z najczęściej wykorzystywanych bibliotek w Pythonie, służąca do wysyłania zapytań HTTP (GET, POST, PUT, DELETE itp.). Dzięki niej, komunikacja z serwisami internetowymi staje się prostsza, bardziej przejrzysta i efektywna. Requests abstrahuje wszystkie skomplikowane detale związane z wysyłaniem zapytań HTTP, oferując programiście czytelny i intuicyjny interfejs. Biblioteka ta jest bardzo popularna, dlatego znajdziesz ogromną ilość dokumentacji oraz przykładów, co ułatwia naukę i rozwiązywanie problemów.

Jak zainstalować Py Requests?

Na szczęście instalacja biblioteki Requests jest dziecinnie prosta! Wystarczy, że masz zainstalowanego Pythona i narzędzie pip do zarządzania pakietami. Oto jak to zrobić:

pip install requests

To wszystko! Po tej komendzie biblioteka Py Requests jest gotowa do użycia w Twoim projekcie.

Podstawowe operacje w Py Requests – przykłady

W Py Requests najczęściej będziesz używać kilku typów zapytań HTTP. Oto podstawowe z nich:

1. Zapytanie GET – pobieranie danych

Zapytanie GET jest najczęściej wykorzystywane do pobierania danych z serwisów internetowych. Przykładowo, jeśli chcesz pobrać zawartość strony internetowej, użyjesz tego typu zapytania:

import requests

response = requests.get('https://api.github.com')
print(response.status_code)  # Sprawdzamy status odpowiedzi
print(response.text)  # Wyświetlamy treść odpowiedzi

W powyższym przykładzie wysyłamy zapytanie GET do GitHub API. Odpowiedź jest przechowywana w obiekcie response, a my możemy sprawdzić jej kod statusu (np. 200 oznacza, że zapytanie zakończyło się sukcesem) oraz treść odpowiedzi (tutaj HTML lub JSON, w zależności od serwisu).

2. Zapytanie POST – wysyłanie danych

Zapytanie POST jest używane, gdy chcemy wysłać dane do serwera. Często stosowane w formularzach, API czy logowaniu. Oto przykład:

import requests

data = {
    'username': 'my_user',
    'password': 'my_password'
}

response = requests.post('https://example.com/login', data=data)
print(response.status_code)
print(response.text)

W tym przypadku wysyłamy dane do serwera w formie słownika Pythonowego (klucz-wartość). Zapytanie POST jest szeroko wykorzystywane w przypadku logowania lub rejestracji użytkowników na stronach internetowych.

3. Zapytanie PUT – aktualizacja danych

Zapytanie PUT jest używane do modyfikacji danych na serwerze. W odróżnieniu od POST, PUT zazwyczaj ma na celu pełną aktualizację zasobów:

import requests

data = {
    'name': 'Nowa nazwa produktu',
    'price': 150.00
}

response = requests.put('https://api.example.com/product/123', data=data)
print(response.status_code)

W powyższym przykładzie wysyłamy zapytanie PUT, które zmienia dane produktu na serwerze. Identyfikator produktu to 123, a dane do zaktualizowania to nazwa i cena.

4. Zapytanie DELETE – usuwanie danych

Zapytanie DELETE jest używane do usuwania zasobów na serwerze. Przykład:

import requests

response = requests.delete('https://api.example.com/product/123')
print(response.status_code)

W tym przypadku wysyłamy zapytanie DELETE, aby usunąć produkt o identyfikatorze 123.

Obsługa odpowiedzi w Py Requests

Po wysłaniu zapytania HTTP, serwer zwraca odpowiedź, którą możemy obsłużyć. Py Requests daje nam możliwość łatwego sprawdzania statusu odpowiedzi, nagłówków oraz treści. Oto kilka ważnych funkcji:

  • response.status_code: Zwraca kod statusu HTTP, np. 200, 404, 500.
  • response.text: Zwraca treść odpowiedzi w postaci tekstowej (np. HTML, JSON).
  • response.json(): Używane do parsowania odpowiedzi w formacie JSON (jeśli serwer zwróci dane w tym formacie).
  • response.headers: Zwraca nagłówki odpowiedzi (np. typ zawartości, długość).

Przykład obsługi odpowiedzi

Załóżmy, że wysyłamy zapytanie GET do serwera, który zwraca dane w formacie JSON. Oto, jak możemy obsłużyć odpowiedź:

import requests

response = requests.get('https://api.example.com/data')

if response.status_code == 200:
    data = response.json()
    print(data)
else:
    print('Błąd:', response.status_code)

W tym przypadku, jeśli odpowiedź ma status 200 (sukces), przetwarzamy dane JSON. Jeśli odpowiedź jest inna, wyświetlamy kod błędu.

Wysyłanie zapytań z parametrami i nagłówkami

Czasami w zapytaniach musimy wysłać dodatkowe parametry lub nagłówki, na przykład, jeśli API wymaga tokena autoryzacyjnego. Oto przykład:

import requests

headers = {
    'Authorization': 'Bearer token_api'
}

params = {
    'page': 1,
    'limit': 10
}

response = requests.get('https://api.example.com/items', headers=headers, params=params)
print(response.status_code)
print(response.json())

W tym przykładzie wysyłamy zapytanie GET, dodając nagłówek z tokenem autoryzacyjnym oraz parametry zapytania (strona i limit wyników).

Py Requests przykłady – najlepsze praktyki

Aby Twoje zapytania HTTP były bezpieczne i wydajne, warto przestrzegać kilku podstawowych zasad:

  • Używaj sesji (Session): Jeśli wykonujesz wiele zapytań do tego samego serwera, użycie obiektu requests.Session() pozwala na utrzymanie połączenia i oszczędność zasobów.
  • Sprawdzaj status odpowiedzi: Zawsze sprawdzaj kod statusu odpowiedzi, aby upewnić się, że zapytanie zakończyło się sukcesem.
  • Używaj try-except: Zawsze otaczaj zapytania blokiem try-except, aby obsługiwać błędy, takie jak problemy z połączeniem czy timeout.

Podsumowanie

Py Requests to potężna biblioteka, która pozwala w prosty sposób wysyłać zapytania HTTP w Pythonie. Dzięki niej, komunikacja z API, zewnętrznymi usługami i serwisami internetowymi staje się łatwiejsza i bardziej intuicyjna. W tym artykule przedstawiliśmy podstawowe operacje, takie jak zapytania GET, POST, PUT i DELETE, a także pokazaliśmy, jak obsługiwać odpowiedzi z serwera. Mam nadzieję, że ten przewodnik ułatwi Ci pracę z zapytaniami HTTP i pomoże w tworzeniu bardziej zaawansowanych aplikacji. Nie bój się eksperymentować z Requests – Python i ta biblioteka mają naprawdę ogromne możliwości!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: