Käytä HTTP-välityspalvelimen Basic-haasteessa ProxyBasicAuthHandler. Tämä tavallinen HTTP-esimerkki pitää reitin ja tilin yhdessä avaajassa:

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)

Käytä todellista päätepistettä ja operaattorin antamaa tiliä. Käsittelijä käyttää salasananhallintaa välityspalvelimen haasteeseen; sovita aiottu välityspalvelimen URI ja realm. Kohteen Basic-todennus käyttää toista käsittelijää.

Avaajan kutsuminen suoraan pitää tämän asetuksen paikallisena. Pyynnön URL pysyy verkkosivustona, ei välittäjänä. Tämä salaamaton HTTP-reitti ei salaa Basic-vaihtoa.

Älä päättele tästä esimerkistä HTTPS-tunnelin tukea. 407 CONNECTin aikana tapahtuu asetuksessa, ennen tavallista kohdevastausta; valitun integraation on käsiteltävä todennus siellä. Sivuston kirjautumiskäsittelijän vaihtaminen ei korjaa tuota aiempaa haastetta.

Tunnistetietoja sisältävät välityspalvelimen URL-osoitteet ovat toinen muoto, jota esiintyy vanhemmissa esimerkeissä. Jos käytät niitä, koodaa URL-erottimet oikein ja pidä syntyvä salaisuuden sisältävä URL poissa lokeista.

Aiheeseen liittyvät artikkelit