Налады проксі Authlib: Requests супраць HTTPX
Выбірайце проксі сесіі Requests або аргумент проксі кліента HTTPX у залежнасці ад інтэграцыі Authlib, якая выкарыстоўваецца.
Праверце імпарт 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 не з'яўляецца ўзаемазаменным аргументам канструктара. Для публічных канчатковых пунктаў токенаў і API на дазволеным публічным маршруце проксі спіс HTTP-проксі прапануе кандыдатаў для URL HTTP-проксі абодвух прыкладаў.
Захоўвайце існуючую рэгістрацыю OAuth праграмы, redirect URI, scopes і апрацоўку токенаў пры прымяненні любой з канфігурацый. Выкарыстоўвайце сканфігураваны кліент для аперацый з токенамі і абароненымі рэсурсамі і закрывайце яго праз звычайны сінхронны або асінхронны жыццёвы цыкл.
Дапаможнікі фрэймворка могуць ствараць гэтыя кліенты ад імя праграмы. Праверце інтэграцыю дапаможніка і опцыі стварэння кліента перад перадачай аргументаў часу запыту. Ключавое слова proxies, якое прымае запыт токена Requests, не даказвае, што асінхронны запыт HTTPX яго прымае.