HTTP-puhverserveri Basic-väljakutse jaoks kasutage ProxyBasicAuthHandler. See tavaline HTTP-näide hoiab marsruudi ja konto ühes openijas:

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)

Kasutage tegelikku lõpp-punkti ja operaatori antud kontot. Käitleja kasutab puhverserveri väljakutse jaoks paroolihaldurit; sobitage kavandatud puhverserveri URI ja realm. Sihtkoha Basic-autentimine kasutab teist käitlejat.

Openija otsekutsumine hoiab selle seadistuse kohalikuna. Päringu URL jääb veebisaidiks, mitte vahendajaks. See krüptimata HTTP-marsruut ei krüpteeri Basic-vahetust.

Ärge järeldage sellest näitest HTTPS-tunneli tuge. 407 CONNECTi ajal tekib seadistamisel, enne tavalist sihtkoha vastust; valitud integratsioon peab autentimise seal käsitlema. Veebisaidi sisselogimiskäitleja muutmine ei paranda seda varasemat väljakutset.

Volitustega puhverserveri URL-id on teine vorming, mida leidub vanemates näidetes. Kui neid kasutate, kodeerige URL-i eraldajad õigesti ja hoidke tekkinud saladust kandev URL logidest eemal.

Seotud artiklid