Прокси настройки на Authlib: Requests срещу HTTPX
Изберете проксита за сесията на Requests или аргумента за прокси на клиента HTTPX според използваната интеграция на Authlib.
Проверете импорта на Authlib, преди да изберете аргумент за прокси. Интеграциите му с Requests и HTTPX предоставят различна конфигурация на транспорта.
OAuth2Session на Requests наследява поведението на 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 я приема.