Proxyindstillinger i Authlib: Requests kontra HTTPX
Vælg Requests-sessionsproxier eller HTTPX-klientens proxyargument alt efter den Authlib-integration, der bruges.
Kontrollér Authlib-importen, før du vælger et proxyargument. Dets Requests- og HTTPX-integrationer udstiller forskellig transportkonfiguration.
Requests OAuth2Session arver Requests' Session-adfærd:
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",
})
Den tilsvarende asynkrone HTTPX-integration tager proxyargumentet på klientniveau under opbygningen:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
HTTPX-eksemplet bruger den enkelte proxy-indstilling, som Authlib 1.9.1 understøtter. Den integration sender anerkendte transportindstillinger videre til sin underliggende HTTP-klient. En proxies-ordbog i Requests-stil er ikke et udskifteligt konstruktørargument. For offentlige token- og API-endpoints på en tilladt offentlig proxy-rute giver HTTP-proxylisten kandidater til HTTP-proxy-URL'erne i begge eksempler.
Bevar applikationens eksisterende OAuth-registrering, redirect URI, scopes og tokenhåndtering, når du anvender en af konfigurationerne. Brug den konfigurerede klient til token- og beskyttede ressource-operationer, og luk den via dens normale synkrone eller asynkrone livscyklus.
Framework-hjælpere kan oprette disse klienter på applikationens vegne. Undersøg hjælperens integration og klientopbygningsindstillinger, før du sender argumenter på forespørgselstidspunktet. Et proxies-nøgleord, som en Requests-tokenanmodning accepterer, beviser ikke, at en asynkron HTTPX-anmodning accepterer det.