Proxy arqumentini seçməzdən əvvəl Authlib importunu yoxlayın. Onun Requests və HTTPX inteqrasiyaları fərqli nəqliyyat konfiqurasiyası təqdim edir.

Requests OAuth2Session Requests Session davranışını miras alır:

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",
})

Uyğun asinxron HTTPX inteqrasiyası isə qurulma zamanı müştəri səviyyəsində proxy arqumentini qəbul edir:

from authlib.integrations.httpx_client import AsyncOAuth2Client

client = AsyncOAuth2Client(
    client_id=client_id,
    proxy="http://proxy.example.net:8080",
)

HTTPX nümunəsi Authlib 1.9.1 tərəfindən dəstəklənən tək proxy seçimindən istifadə edir. Bu inteqrasiya tanınan nəqliyyat seçimlərini özünün əsas HTTP müştərisinə ötürür. Requests üslubunda proxies lüğəti bir-birini əvəz edə bilən konstruktor arqumenti deyil. İcazə verilmiş ictimai proxy marşrutu üzərindəki ictimai token və API son nöqtələri üçün HTTP proxy siyahısı hər iki nümunənin HTTP proxy URL-ləri üçün namizədlər təqdim edir.

Hər iki konfiqurasiyanı tətbiq edərkən tətbiqin mövcud OAuth qeydiyyatını, redirect URI-ni, scopes-u və token idarəsini saxlayın. Token və qorunan resurs əməliyyatları üçün konfiqurasiya edilmiş müştəridən istifadə edin və onu adi sinxron və ya asinxron həyat dövrü ilə bağlayın.

Framework köməkçiləri bu müştəriləri tətbiq adından yarada bilər. Sorğu vaxtı arqumentlərini ötürməzdən əvvəl köməkçinin inteqrasiyasını və müştəri qurulması seçimlərini yoxlayın. Requests token sorğusunda qəbul edilən proxies açar sözü asinxron HTTPX sorğusunun da onu qəbul etdiyini sübut etmir.

Əlaqəli məqalələr