Налаштування проксі в 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.