HTTP ప్రాక్సీ నుండి వచ్చే Basic సవాల్ కోసం ProxyBasicAuthHandler ఉపయోగించండి. ఈ సాధారణ HTTP ఉదాహరణ మార్గాన్ని మరియు ఖాతాను ఒకే opener లో ఉంచుతుంది:

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)

నిజమైన ఎండ్పాయింట్ మరియు ఆపరేటర్ ఇచ్చిన ఖాతాను ఉపయోగించండి. ఈ హ్యాండ్లర్ ప్రాక్సీ సవాల్ కోసం పాస్వర్డ్ నిర్వాహకాన్ని ఉపయోగిస్తుంది; ఉద్దేశించిన ప్రాక్సీ URI మరియు realm లను సరిపోల్చండి. గమ్యస్థానంలో Basic ప్రామాణీకరణ మరొక హ్యాండ్లర్ను ఉపయోగిస్తుంది.

opener ను నేరుగా పిలవడం ఈ సెటప్ను స్థానికంగా ఉంచుతుంది. అభ్యర్థన URL మధ్యవర్తి కాదు, వెబ్సైట్ గానే ఉంటుంది. ఈ స్పష్టమైన HTTP మార్గం Basic మార్పిడిని గుప్తీకరించదు.

ఈ ఉదాహరణ నుండి HTTPS సొరంగ మద్దతును ఊహించవద్దు. CONNECT సమయంలో 407 సెటప్ సమయంలో, సాధారణ గమ్యస్థాన ప్రతిస్పందనకు ముందు సంభవిస్తుంది; ఎంచుకున్న ఇంటిగ్రేషన్ అక్కడ ప్రామాణీకరణను నిర్వహించాలి. వెబ్సైట్ లాగిన్ హ్యాండ్లర్ను మార్చడం ఆ మునుపటి సవాలును సరిచేయలేదు.

ఆధారాలు మోసే ప్రాక్సీ URL లు పాత ఉదాహరణలలో కనిపించే మరొక ఆకృతి. ఉపయోగిస్తే URL విభాజకాలను సరిగ్గా ఎన్కోడ్ చేయండి మరియు ఏర్పడిన రహస్య URL ను లాగ్ల నుండి దూరంగా ఉంచండి.

సంబంధిత వ్యాసాలు