Authlib-ի պրոքսի կարգավորումներ. Requests ընդդեմ HTTPX-ի
Ըստ օգտագործվող Authlib ինտեգրացիայի՝ ընտրեք Requests-ի սեսիայի պրոքսիները կամ HTTPX-ի հաճախորդի պրոքսի արգումենտը։
Նախքան պրոքսի արգումենտ ընտրելը՝ ստուգեք Authlib-ի import-ը։ Դրա Requests և HTTPX ինտեգրացիաները տալիս են տարբեր տրանսպորտային կարգավորում։
Requests-ի OAuth2Session-ը ժառանգում է Requests-ի Session-ի վարքը.
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-ի օրինակը օգտագործում է Authlib 1.9.1-ով աջակցվող եզակի proxy ընտրանքը։ Այդ ինտեգրացիան ճանաչված տրանսպորտային ընտրանքները փոխանցում է իր հիմքում ընկած HTTP հաճախորդին։ Requests-ի ոճով proxies բառարանը փոխանակելի կոնստրուկտորի արգումենտ չէ։ Թույլատրված հանրային պրոքսի երթուղու վրա գտնվող հանրային token և API վերջնակետերի համար HTTP պրոքսիների ցանկը թեկնածուներ է տալիս երկու օրինակների HTTP proxy URL-ների համար։
Ցանկացած կարգավորում կիրառելիս պահպանեք հավելվածի գոյություն ունեցող OAuth գրանցումը, redirect URI-ը, scopes-ը և token-ի մշակումը։ Օգտագործեք կարգավորված հաճախորդը token-ի և պաշտպանված ռեսուրսների գործողությունների համար և փակեք այն իր սովորական սինքրոն կամ ասինքրոն կյանքի ցիկլով։
Framework-ի օժանդակ գործիքները կարող են ստեղծել այս հաճախորդները հավելվածի անունից։ Հարցման պահին արգումենտներ փոխանցելուց առաջ ուսումնասիրեք օժանդակ գործիքի ինտեգրացիան և հաճախորդի կառուցման ընտրանքները։ Requests-ի token հարցմամբ ընդունված proxies բանալի բառը չի ապացուցում, որ ասինքրոն HTTPX հարցումը նույնպես ընդունում է այն։