Ustawienia proxy w Authlib: Requests kontra HTTPX
Wybierz proxy sesji Requests albo argument proxy klienta HTTPX zależnie od używanej integracji Authlib.
Sprawdź import Authlib przed wyborem argumentu proxy. Jego integracje Requests i HTTPX udostępniają inną konfigurację transportu.
Requests OAuth2Session dziedziczy zachowanie Session w Requests:
from authlib.integrations.requests_client import OAuth2Session
client = OAuth2Session(client_id=client_id)
client.proxies.update({
"http": "http://proxy.example.net:8080",
"https": "http://proxy.example.net:8080",
})
Odpowiednia asynchroniczna integracja HTTPX przyjmuje argument proxy na poziomie klienta podczas tworzenia:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
Przykład HTTPX używa pojedynczej opcji proxy obsługiwanej przez Authlib 1.9.1. Ta integracja przekazuje rozpoznane opcje transportu do swojego bazowego klienta HTTP. Słownik proxies w stylu Requests nie jest wymiennym argumentem konstruktora. Dla publicznych punktów końcowych tokenów i API na dozwolonej publicznej trasie proxy lista proxy HTTP dostarcza kandydatów do adresów URL proxy HTTP w obu przykładach.
Zachowaj istniejącą rejestrację OAuth aplikacji, redirect URI, scopes i obsługę tokenów przy stosowaniu dowolnej konfiguracji. Używaj skonfigurowanego klienta do operacji na tokenach i zasobach chronionych, a zamykaj go przez jego zwykły cykl życia synchroniczny lub asynchroniczny.
Pomocniki frameworka mogą tworzyć tych klientów w imieniu aplikacji. Przed przekazaniem argumentów w czasie żądania sprawdź integrację pomocnika i opcje tworzenia klienta. Słowo kluczowe proxies akceptowane przez żądanie tokenu Requests nie dowodzi, że przyjmuje je asynchroniczne żądanie HTTPX.