HTTP proksidan kelgan Basic chaqirig'i uchun ProxyBasicAuthHandler dan foydalaning. Bu oddiy HTTP misoli marshrut va hisobni bitta openerda saqlaydi:

import os
from urllib.request import (
    ProxyHandler, ProxyBasicAuthHandler,
    HTTPPasswordMgrWithDefaultRealm, build_opener,
)

proxy_url = 'http://proxy.example:8080'
passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(
    None, proxy_url,
    os.environ['PROXY_USER'], os.environ['PROXY_PASSWORD'],
)
opener = build_opener(
    ProxyHandler({'http': proxy_url}),
    ProxyBasicAuthHandler(passwords),
)
with opener.open('http://example.com/', timeout=10) as response:
    print(response.status)

Haqiqiy endpoint va operator bergan hisobdan foydalaning. Bu ishlovchi proksi chaqirig'i uchun parol menejeridan foydalanadi; mo'ljallangan proksi URI va realmni moslashtiring. Manzildagi Basic autentifikatsiya boshqa ishlovchidan foydalanadi.

Openerni to'g'ridan-to'g'ri chaqirish bu sozlamani lokal saqlaydi. So'rov URLi vositachi emas, sayt bo'lib qoladi. Bu ochiq HTTP marshruti Basic almashinuvini shifrlamaydi.

Bu misoldan HTTPS tunnel qo'llab-quvvatlanadi deb xulosa qilmang. CONNECT vaqtidagi 407 sozlashda, manzilning oddiy javobidan oldin yuz beradi; tanlangan integratsiya autentifikatsiyani o'sha yerda hal qilishi kerak. Saytning kirish ishlovchisini almashtirish o'sha oldingi chaqiriqni tuzata olmaydi.

Hisob ma'lumotlarini olib yuruvchi proksi URLlari eski misollarda uchraydigan boshqa format. Agar ishlatilsa, URL ajratgichlarini to'g'ri kodlang va hosil bo'lgan sir saqlovchi URLni jurnallardan uzoqda tuting.

O'xshash maqolalar