install_opener() دوه ځله غوښتل دوهم opener لومړي ته نه ورزیاتوي. دا د module اصلي opener بدلوي. که یو شی proxy پېژني او بل د وېبپاڼې ننوتل، نو د اړینو handlers سره یو opener جوړ کړئ.

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

passwords = HTTPPasswordMgrWithDefaultRealm()
passwords.add_password(None, 'https://example.com/private/',
                       os.environ['SITE_USER'], os.environ['SITE_PASSWORD'])
opener = build_opener(
    ProxyHandler({'https': 'http://203.0.113.10:8080'}),
    HTTPBasicAuthHandler(passwords),
)
with opener.open('https://example.com/private/report', timeout=10) as response:
    body = response.read()

proxy او منزل بېلګې دي. د عامې HTTP proxy له لارې د رسېدو وړ عامې خدمت لپاره د HTTP proxy لیست د routing handler لپاره نوماند endpoints برابروي. دا opener HTTPS غوښتنه د HTTP proxy له لارې لېږي او د منزل Basic ننګونه اداره کوي. دا د proxy تصدیق نه تنظیموي.

که proxy هم ننوتل غواړي، د ملاتړ شوي proxy-تصدیق ترتیبات جلا غوره کړئ. د CONNECT په وخت 407 د منزل له خپلې ننګونې د صادرولو دمخه پېښېږي. د وېبپاڼې اعتبارونه د پټنوم مدیر ته ورزیاتول هغه پخوانی تبادله نشي پوره کولی.

opener.open() مستقیم غوښتل ترتیبات د عملیاتو سره ساتي. د module په کچه اصلي بدلول اړین نه دي، پرته له دې چې غوښتنلیک په قصد سره غواړي ټول اسانه غوښتل دا opener شریک کړي.

اړوندې مقالې