Authlib поставки за прокси: Requests наспроти HTTPX
Изберете прокси за сесијата на Requests или аргументот за прокси на клиентот HTTPX според интеграцијата на Authlib што се користи.
Проверете го importot на Authlib пред да изберете аргумент за прокси. Неговите интеграции Requests и HTTPX нудат различна транспортна конфигурација.
Requests OAuth2Session го наследува однесувањето на Session во 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",
})
Соодветната асинхрона интеграција HTTPX го прима аргументот за прокси на ниво на клиент при изградбата:
from authlib.integrations.httpx_client import AsyncOAuth2Client
client = AsyncOAuth2Client(
client_id=client_id,
proxy="http://proxy.example.net:8080",
)
Примерот со HTTPX ја користи еднинската опција proxy што ја поддржува Authlib 1.9.1. Таа интеграција ги пренесува препознаените транспортни опции на својот основен HTTP клиент. Речникот proxies во стил на Requests не е заменлив аргумент на конструкторот. За јавни крајни точки за token и API на дозволена јавна прокси рута, списокот на HTTP прокси нуди кандидати за HTTP прокси URL-ата на двата примера.
Задржете ја постоечката OAuth регистрација на апликацијата, redirect URI, scopes и ракувањето со token при примена на која било конфигурација. Користете го конфигурираниот клиент за операциите со token и заштитени ресурси и затворете го преку неговиот вообичаен синхрон или асинхрон животен циклус.
Помошниците на рамката можат да ги создаваат овие клиенти во името на апликацијата. Проверете ја интеграцијата на помошникот и опциите за изградба на клиентот пред да пренесете аргументи во време на барањето. Клучниот збор proxies што го прифаќа барање за token на Requests не докажува дека асинхроно барање на HTTPX го прифаќа.