Python:
Wysyłanie żądania HTTP
Jak to zrobić:
Użyjemy requests, łatwej w użyciu biblioteki pozwalającej na wysyłanie żądań HTTP. Instalacja to linijka w terminalu:
pip install requestsA oto prosty przykład użycia:
import requests
response = requests.get('https://api.github.com')
print(response.status_code)
print(response.content)Output może być taki:
200
b'{"current_user_url":"https://api.github.com/user","current_user_authorizations_html_url":"https://github.com/settings/connections/applications{/client_id}",...}'Kod 200 mówi nam, że żądanie się powiodło.
Deep Dive
Protokół HTTP istnieje od 1991 roku. Z czasem ewoluował – mamy już HTTP/2 i eksperymentujemy z HTTP/3. Alternatywą dla biblioteki requests może być http.client wbudowany w Pythona, choć nie jest tak wygodny w użyciu.
Biblioteka requests obsługuje sesje, co pozwala na przechowywanie ciasteczek czy utrzymywanie stałego nagłówka przez wiele żądań. Wsparcie dla HTTPS jest wbudowane, a co za tym idzie, szyfrowanie danych również. Kiedy wysyłasz żądanie, requests automatycznie koduje parametry, a odpowiedzi mogą być łatwo przekształcone w struktury danych JSON.
Zobacz również
- Dokumentacja
requests - Przewodnik po żądaniach HTTP w Pythonie
- HTTP/3 Explained
- Dokumentacja
http.client
Pamiętaj, że praktyka czyni mistrza – eksperymentuj z wysyłaniem różnych typów żądań i badaniem odpowiedzi. W sieci można znaleźć mnóstwo API do wypróbowania. Powodzenia!