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.

Powiązane artykuły