requests-oauthlib: задайте прокси на OAuth2Session преди fetch_token
Използвайте една и съща сесия със съзнание за прокси за получаване на токен и защитени ресурси, запазвайки съществуващия OAuth поток.
from requests_oauthlib import OAuth2Session
session = OAuth2Session(client_id=client_id, redirect_uri=redirect_uri)
session.proxies.update({
'http': 'http://proxy.example:8080',
'https': 'http://proxy.example:8080',
})OAuth2Session разширява Session на Requests. Създайте го с регистрацията на клиента, redirect URI, state и scopes на приложението, след което задайте маршрута му преди обмена на токена. За публичен HTTP маршрут кандидат от списъка с HTTP проксита предоставя адреса в картата с проксита на тази сесия.
Извикайте fetch_token и операциите със защитени ресурси върху тази сесия. Аргумент proxies, подаден само на fetch_token, се прилага за този обмен; той не задава траен маршрут за следващите извиквания.
Посещението на страницата за оторизация в браузъра използва маршрута на браузъра. Python прави заявката за токен отделно, така че успехът в браузъра не конфигурира тази сесия.
Интеграцията на Requests с обкръжението може да повлияе на избора на прокси за сесията. За строг маршрут, управляван от приложението, прегледайте trust_env; изключването му изисква също явно подаване на необходимите CA или настройки за удостоверяване.
OAuth грешка, върната от token endpoint, може да дойде през работещо прокси. Запазете този отговор отделно от удостоверяването на проксито, чиито данни са различни от client secret и access token.