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 requests
A 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!